linuxmysql5.1安裝的簡單介紹

  • 1、詳細講解Linux環境下MySQL 5.1安裝步驟
  • 2、如何安裝mysql,Linux下mysql安裝
  • 3、《從0到1 最詳細MySQL安裝流程(Linux環境)
  • 4、linux怎麼安裝mysql數據庫

1、下載MySQL免安裝版/二進制版軟件

(不用編譯)

文件格式:MYSQL-VERSION-OS.tar.gz

2、創建MySQL組,建立MySQL用戶並加入到mysql組中

(不同版本的Unix中,groupadd和useradd的語法可能會稍有不同。)

#groupadd

mysql

#useradd

-g

mysql

mysql

3、進入目錄/usr/local,解壓縮免安裝版,並在此目錄中建立名為mysql的軟鏈接

#cd

/usr/local

#gunzip

/path/to/MYSQL-VERSION-OS.tar.gz

|

tar

xvf

(該命令會在本目錄下創建一個名為MYSQL-VERSION-OS的新目錄。)

(使用GNU

tar,則不再需要gunzip。你可以直接用下面的命令來解包和提取分發:

#

tar

zxvf

/path/to/mysql-VERSION-OS.tar.gz)

#ln

-s

MYSQL-VERSION-OS

mysql

4、添加MySQL配置文件

如果你想要設置一個選項文件,使用support-files目錄中的一個作為模板。在這個目錄中有4個模板文件,是根據不同機器的內存定製的。

#cp

support-files/my-medium.cnf

/etc/my.cnf

(可能你需要用root用戶運行這些命令。)

5、設定目錄訪問權限,用mysql_install_db創建MySQL授權表初始化,並設置mysql,root帳號訪問權限

#cd

mysql

#chown

-R

mysql

.

#chgrp

-R

mysql

.

#scripts/mysql_install_db

–user=mysql

#chown

-R

root

.

#chown

-R

mysql

data

(注意以上命令中的”

.

“符號不能少。)

6、運行MySQL

#bin/mysqld_safe

–user=mysql

(如果沒有問題的話,應該會出現類似這樣的提示:

[1]

42264

#

Starting

mysqld

daemon

with

databases

from

/usr/local/mysql/var

如果出現

mysql

ended這樣的語句,表示Mysql沒有正常啟動,你可以到log中查找問題,Log文件的通常在/etc/my.cnf中配置。

大多數問題是權限設置不正確引起的。

)

7、設置root密碼。默認安裝密碼為空,為了安全你需要修改密碼

#/usr/local/mysql/bin/mysqladmin

-uroot

password

yourpassword

8、拷貝編譯目錄的一個腳本,設置開機自動啟動

#cp

support-files/mysql.server

/etc/rc.d/init.d/mysqld

#chmod

700

/etc/init.d/mysqld

#chkconfig

–add

mysqld

#chkconfig

–level

345

mysqld

on

9、啟動mysqld服務

#service

mysqld

start

10、查看3306端口是否打開。要注意在防火牆中開放該端口

#netstat

-atln

免安裝版/二進制版安裝基本命令概述:

shell

groupadd

mysql

shell

useradd

-g

mysql

mysql

shell

cd

/usr/local

shell

gunzip

/PATH/TO/MYSQL-VERSION-OS.tar.gz

|

tar

xvf

shell

ln

-s

FULL-PATH-TO-MYSQL-VERSION-OS

mysql

shell

cd

mysql

shell

chown

-R

mysql

.

shell

chgrp

-R

mysql

.

shell

scripts/mysql_install_db

–user=mysql

shell

chown

-R

root

.

shell

chown

-R

mysql

data

shell

bin/mysqld_safe

–user=mysql

一、下載編譯安裝

#cd /usr/local/src/

#wget

#tar –xzvf

mysql-5.1.38.tar.gz ../software/

#./configure

–prefix=/usr/local/mysql

//MySQL安裝目錄

–datadir=/mydata //數據庫存放目錄

–with-charset=utf8 //使用UTF8格式

–with-extra-charsets=complex //安裝所有的擴展字符集

–enable-thread-safe-client

//啟用客戶端安全線程

–with-big-tables //啟用大表

–with-ssl //使用SSL加密

–with-embedded-server //編譯成embedded MySQL library (libmysqld.a),

–enable-local-infile //允許從本地導入數據

–enable-assembler

//彙編x86的普通操作符,可以提高性能

–with-plugins=innobase //數據庫插件

–with-plugins=partition //分表功能,將一個大表分割成多個小表

#make make

install //編譯然後安裝

二、新建用戶和組

#groupadd mysql //建MySQL組

#useradd -g mysql -s /sbin/nologin mysql //建MySQL用戶屬於MySQL組

三、配置

#chown -R mysql:mysql /usr/local/mysql/ 把MySQL目錄的權限給MySQL用戶和組

#cp /usr/local/src/software/ mysql-5.1.38/support-files/my-medium.cnf

/etc/my.cnf //拷入配置文件my.cnf

#/usr/local/mysql/bin/mysql_install_db

–user=mysql //用MySQL來初始化數據庫

#chown -R mysql:mysql /usr/local/mysql/var/

//把初始化的數據庫目錄給MySQL所有者

#/usr/local/mysql/bin/mysqld_safe –user=mysql

//啟動MySQL

四、其他

#cp /usr/local/src/software/

mysql-5.1.38/support-files/mysql.server /etc/init.d/mysqld

#chmod 755

/etc/init.d/mysqld

#chkconfig –add mysqld

#chkconfig mysqld on

#service mysqld restart

五、登陸測試

#cd

/usr/local/mysql/bin

#mysql

show databases;

#

MySQL安裝結束

linux下mysql配置方法

在linux中mysql的配置文件路徑在/usr/share/mysql下

有:my-huge.cnf 、my-large.cnf、 my-medium、my-small.cnf這些文件

根據需要打開這些文件中的一個:

在文件中找到[mysqld]

在下這行下加入datadir=FILEPATH /*這個路徑為數據庫存放的路徑*/

然後保存文件

在shell中輸入

#cp my-***.cnf /etc

#cd /etc

#mv my.cnf my.cnf.bak

/*把系統以前的mysql配置文件備份*/

#mv my-***.cnf my.cnf

#service mysqld start

/*啟動mysql服務*/

#ntsysv /*配置mysql自啟動,在彈出的窗口中把mysqld這項服務用空格選中,最後確定保存*/

   查看服務器是否有自帶的MySQL,如果有可以直接使用,如果自帶的版本比較低,可以刪除然後安裝自己想要的版本 (在安裝新版本MySQL之前,需要卸載服務器自帶的MySQL包和MySQL數據庫分支mariadb的包)

  1、rpm -qa|grep mysql — 查詢服務器是否有mysql,如有,則執行下面的語句進行刪除

  2、rpm -qa |grep mariadb — 查詢服務器是否有mariadb,有則執行第三步進行刪除

  3、rpm -e –nodeps 要刪除的文件名( nodeps表示強制刪除 )

   小貼士1: 如果使用rz命令時提示找不到命令,直接執行: yum -y install lrzsz 則可以在線下載。

   命令: rz 或者rz -be

   格式: rz -be 選擇需要上傳的文件

  批量或者單個上傳文件,通過ZMODEM協議,除此之外,還可以通過ftp或者sftp進行上傳

   按照下面的命令順序執行,文件名修改成你壓縮後的文件名稱即可

   啟動命令: systemctl start mysql

   報錯信息: Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.

   根據報錯信息執行 : systemctl status mysqld.service” 或者 “journalctl -xe”命令查看報錯詳情,發現報錯信息中存在: Data Dictionary upgrade from MySQL 5.7 in progress 。

  說明是因為新版本和之前服務器自帶的版本對應的包存在衝突,刪除對應的衝突目錄即可,執行: rm -rf /var/lib/mysql/*(執行刪除命令的時候要看清楚哦)

systemctl start mysql — 啟動服務器

  第一次成功啟動MySQL會被設置默認一個密碼,通過以下命令查看並進行登錄。

   1、查看第一次啟動的臨時密碼 :grep password /var/log/mysqld.log

   2、連接到服務器 : mysql -u root -p 回車,然後輸出密碼

   3、第一次連接會強制你必須修改連接密碼 ,可以使用以下的語句進行修改密碼:

  ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY ‘123456’; (MySQL8.x適合使用這個語句)

  UPDATE USER SET PASSWORD=PASSWORD(‘你的密碼’) WHERE USER=’root’; (MySQL5.x版本的修改)

1. 安裝MySQL數據庫

先從MySQL官網下載MySQL,然後進入所下載的安裝文件所在目錄,運行如下命令進行安裝,其中MySQL-server-community-5.1.56-1.rhel5.i386.rpm為剛剛下載的MySQL數據庫服務器的rpm包,然後使用/etc/rc.d/init.d/mysqlrestart命令重啟MySQL服務:

[root@localhost ~]# rpm -ivh MySQL-server-community-5.1.56-1.rhel5.i386.rpm

[root@localhost ~]# /etc/rc.d/init.d/mysql restart

Shutting down MySQL..[確定]

Starting MySQL..[確定]

2. 配置MySQL數據庫字符集

備註:配置MySQL數據庫字符集的目的是方便的使用數據庫,無需在每次連接的時候都要臨時設置數據庫字符集的,個人不建議採用這種方法,真正的工程項目都應該在連接數據庫時臨時設置數據庫字符集,如此才便於系統的移植,而且又不會影響數據庫服務器中的其他數據庫的使用!

安裝完成之後,需要配置MySQL的字符集配置,首先需要查找MySQL的配置文件的位置,由於MySQL的配置文件名是以.cnf結尾的,因此可用如下命令進行查找:

[root@localhost ~]# find / -iname ‘*.cnf’ -print

/usr/share/mysql/my-large.cnf

/usr/share/mysql/my-medium.cnf

/usr/share/mysql/my-innodb-heavy-4G.cnf

/usr/share/mysql/my-huge.cnf

/usr/share/mysql/my-small.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-large.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-medium.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-innodb-heavy-4G.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-huge.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-small.cnf

/etc/pki/tls/openssl.cnf

輸入完命令「find / -iname ‘*.cnf’-print」回車後,屏幕便顯示搜索到的MySQL配置文件,然後拷貝my-large.cnf、my-medium.cnf 、my-innodb-heavy-4G.cnf 、my-huge.cnf、my-small.cnf中任意的一個到/etc目錄下,並命名為my.cnf,其命令如下所示:

[root@localhost ~]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

[root@localhost ~]# vi /etc/my.cnf

然後,使用vi編輯器修改/etc/my.cnf文件,在[client]下添加: 「default-character-set=gb2312」;在[mysqld]下添加:「default-character-set=gb2312」。如下所示:

# The following options will be passed to all MySQL clients

[client]

default-character-set=gb2312

#password = your_password

port = 3306

socket = /var/lib/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server

[mysqld]

default-character-set=gb2312

port = 3306

socket = /var/lib/mysql/mysql.sock

skip-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

按一下Esc鍵,輸入「:wq」後回車保存配置文件,輸入「/etc/rc.d/init.d/mysqlrestart」重啟MySQL服務,如下所示:

[root@localhost ~]# /etc/rc.d/init.d/mysql restart

Shutting down MySQL..[確定]

Starting MySQL..[確定]

最後,我們來驗證MySQL服務器配置是否成功,首先登錄MySQL,輸入「mysql –uroot -p」回車,系統提示輸入密碼,登錄成功後進入MySQL命令模式,如下所示:

[root@localhost ~]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.1.56-community-log MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql

在MySQL命令模式下分別輸入「show variables like’collation_%’;」、「show variables like ‘character_set_%’;」回車後顯示字符集設置,如下所示:

mysql show variables like ‘collation_%’;

+———————-+——————-+

| Variable_name | Value |

+———————-+——————-+

| collation_connection | gb2312_chinese_ci |

| collation_database | gb2312_chinese_ci |

| collation_server | gb2312_chinese_ci |

+———————-+——————-+

3 rows in set (0.05 sec)

mysql show variables like ‘character_set_%’;

+————————–+—————————-+

| Variable_name | Value |

+————————–+—————————-+

| character_set_client | gb2312 |

| character_set_connection | gb2312 |

| character_set_database | gb2312 |

| character_set_filesystem | binary |

| character_set_results | gb2312 |

| character_set_server | gb2312 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+————————–+—————————-+

8 rows in set (0.00 sec)

mysql

根據以上查詢結果可知我們設置的MySQL數據庫配置信息已經生效,至此完成MySQL的服務器的安裝與配置。

3.關於MySQL數據庫的一些注意事項

3.1 遠程連接mysql速度慢

解決方法:

在MySQL服務器的配置(/etc/my.cnf)中增加一個如下配置後速度飛快。

[mysqld]

skip-name-resolve

備註:這樣就能禁用DNS解析,連接速度會快很多。不過,這樣的話就不能在MySQL的授權表中使用主機名了而只能用ip格式。

3.2 重啟數據庫後,發現無需密碼(或者任何密碼)即可以連接

解決方法:

檢查你的MySQL配置文件(/etc/my.cnf)中是不是多了一條語句:「skip-grant-tables」,刪除(注釋)該語句,重新配置MySQL密碼,再次重啟MySQL服務即可!

備註:若使用skip-grant-tables系統將對任何用戶的訪問不做任何訪問控制,但可以用 mysqladmin flush-privileges或mysqladmin reload來開啟訪問控制;默認情況是show databases語句對所有用戶開放,如果mysql服務器沒有開遠程帳戶,就在/etc/my.cnf裏面加上skip-grant-tables。

原創文章,作者:R6ILV,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/126363.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
R6ILV的頭像R6ILV
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進制下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27

發表回復

登錄後才能評論