1. 程式人生 > 資料庫 >Linux下安裝mysql的教程詳解

Linux下安裝mysql的教程詳解

1. 關閉mysql服務

# service mysqld stop

2. 檢查是否有rpm包,如果沒有用rpm安裝過mysql,不應該有殘留,如果有,需要刪掉

檢查語法: rpm -qa|grep -i mysql

刪除語法: rpm -e <包的名字>

如果遇到依賴,無法刪除,使用 rpm -e --nodeps <包的名字> 不檢查依賴,直接刪除rpm包。

3. 通過find命令檢查是否有安裝mysql檔案,有需要刪除

檢查語法: find / -name mysql

刪除語法: rm -rf 目錄檔案(或檔案)

******(2)建立mysql分組和使用者******

1. 暴力刪除mysql使用者

刪除語法: userdel -r -f mysql(如果沒有,會提示你mysql不存在,不用在意)

2. 新增分組

新增語法: groupadd mysql

3. 新增mysql使用者

新增語法: useradd -g mysql mysql

******(3)解壓tar包******

1. cd到mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz目錄

2. 解壓tar包

解壓語法:tar zxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz

解壓後多出一個mysql-5.7.12-linux-glibc2.5-x86_64的檔案,

將這個檔案複製到自己喜歡的目錄,重新命名為mysql,複製的時候請耐心等待,

複製完後,cd到mysql目錄,新建一個data的資料夾。

複製語法: cp -r mysql-5.7.12-linux-glibc2.5-x86_64 /usr/local/mysql

新建檔案語法: mkdir data

chmod 770 data

在/usr/local/mysql裡新建一個data資料夾,並修改許可權為770(drwxrwx---.):

[wangh@HavGO mysql]$ sudo mkdir data
 [wangh@HavGO mysql]$ sudo chmod 770 data 

將/usr/local/mysql的使用者設為mysql,使用者組設為mysql:

[wangh@HavGO ~]$ cd /usr/local/
 [wangh@HavGO local]$ sudo chown -R mysql:mysql mysql 

進入/usr/local/mysql資料夾並執行該命令:

[wangh@HavGO mysql]$ sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

該命令的意思是初始化 並制定user、mysql目錄和data目錄(第三步建立的data)

執行完成後得到一個mysql初始密碼,我們需要先儲存起來,後期第一次登入mysql時使用

2018-06-30T07:40:21.663544Z 1 [Note] A temporary password is generated for root@localhost: 0hl..Ult.usK

A temporary password is generated for root@localhost: 0hl..Ult.usK
0hl..Ult.usK

上述完畢後,執行該命令:

[wangh@HavGO mysql]$ sudo bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

該命令設定SSL安全連線mysql(RSA加密),指定mysql目錄和data目錄

在/var/log/裡新建一個mysql日誌資料夾用於存放mysql執行日誌:

[wangh@HavGO mysql]$ cd /var/log
 [wangh@HavGO log]$ sudo mkdir mysql

在/usr/local/mysql資料夾中執行以下命令:

[wangh@HavGO mysql]$ sudo bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data &

再次按一次Enter鍵讓此命令後臺執行

mysqld_safe指令碼功能自行百度

將mysql加入/etc/init.d啟動引導:

[wangh@HavGO mysql]$ sudo cp support-files/mysql.server /etc/init.d/mysql

配置/etc/my.cnf(my.cnf是mysql的配置檔案)

[wangh@HavGO mysql]$ vim /etc/my.cnf

修改配置,如下圖:

[mysqld]
 # 設定mysql的安裝目錄
basedir=/usr/local/mysql
 # 設定mysql資料庫的資料的存放目錄
datadir=/usr/local/mysql/data
 # 服務端使用的字符集預設為8位元編碼的latin1字符集
character-set-server=utf8
 socket=/tmp/mysql.sock
 #socket=/var/lib/mysql/mysql.sock
 user=mysql
 [mysql-safe]
 log-error=/var/log/mysql/mysqld.log
 pid-file=/var/run/mysqld/mysqld.pid

其他設定可配可不配

# 設定mysql客戶端預設字符集
default-character-set=utf8
 socket=/var/lib/mysql/mysql.sock
 [mysqld]
 skip-name-resolve
 #設定3306埠
port = 3306
 # 允許最大連線數
max_connections=200
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB
 lower_case_table_names=1
 max_allowed_packet=16M
#忘記密碼時可取消註釋,無密碼登陸
#skip-grant-tables

配置環境變數

[wangh@HavGO mysql]$ vim /etc/profile

新增以下內容:

export MYSQL_HOME="/usr/local/mysql"
 export PATH="$PATH:$MYSQL_HOME/bin"

新增完成,儲存退出後,讓環境變數立即生效:

[wangh@HavGO mysql]$ source /etc/profile 

現在mysql已經安裝完畢,啟動mysql服務:

[wangh@HavGO etc]$ sudo service mysql start

顯示啟動成功。

如果在第2步驟中,mysql資料夾不是以“mysql命名”,mysqld_safe會報錯,顯示“mysqld_safe The file /usr/local/mysql/bin/mysqld

does not exist or is not executable.”

因為mysqld_safe指令碼預設mysql路徑為/usr/local/mysql,此時有兩種解決辦法,將mysqld_safe中的所有/usr/local/mysql目錄改為自己實際的安裝目錄

或者將自己實際安裝目錄建立連結至/usr/local/mysql

 mkdir /var/lib/mysql
 mysql_install_db --user=mysql --ldata=/var/lib/mysql/

mysql服務啟動後,鍵入命令進入mysql,密碼為之前獲取的初始密碼;

[wangh@HavGO etc]$ mysql -u root -p

輸入初始密碼,回車

設定新密碼為:jkl12345784

再次用新密碼登陸,就可以使用mysql了。

登入後立即修改root密碼:

mysql> alter user 'root'@'localhost' identified by 'admin';
 Query OK,0 rows affected (0.00 sec)

其中your_password是你設定的新密碼。新密碼應是強密碼,要求密碼包含大小寫字母、數字及標點符號,長度應該在6位以上。

grant all privileges on *.* to 'root'@'%'identified by 'admin' with grant option;
 flush privileges
 ps aux |grep httpd

總結

以上所述是小編給大家介紹的Linux下安裝mysql的教程詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!