CentOS7安裝mysql5.6.40.tar.gz

1.CentOS7一般會自帶數據庫 mariadb,MariaDB數據庫管理系統是MySQL的一個分支,完全兼容mysql但這會影響我們安裝mysql,所以在安裝mysql前,要把mariadb刪除乾淨

執行如下命令查看是否有安裝 mariadb

# rpm -qa|grep mariadb

我的系統上顯示已安裝

mariadb-libs-5.5.56-2.el7.x86_64

需要執行如下命令卸載刪除

# yum remove mariadb-libs-5.5.56-2.el7.x86_64

2.上傳mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 到 目錄 /usr/local

執行如下命令解壓文件; 並重命名解壓後的目錄爲 mysql; 完成後目錄爲 /usr/local/mysql

# tar -zxvf  mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz

3.執行如下命令添加mysql用戶組和用戶

# groupadd mysql;

# useradd -r -g mysql mysql

4.壓縮包解壓后里面有個目錄是data,即/usr/local/mysql/data,我們就用該目錄存放數據庫數據

5.執行如下命令授權 /usr/local/mysql 目錄給用戶 mysql

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

 

6.執行如下命令初始化數據庫

進入mysql目錄

# cd /usr/local/mysql

# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

******有警告

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

意思是explicit_defaults_for_timestamp 不推薦默認,所以最好加上該參數值的設置

改初始化命令如下

# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp=true 

******有報錯

[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist


需要先初始化權限相關等數據庫表

執行如下命令

#./scripts/mysql_install_db --user=mysql  (注意此命令在/usr/local/mysql目錄下執行)

執行成功,此時可以看到/usr/local/mysql目錄下生成了my.cnf 文件

此時再執行

#./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp=true

最後顯示

 ./bin/mysqld: ready for connections.

Version: '5.6.40'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)

表示數據庫安裝啓動成功

此時再打開一個ssh會話,登錄到服務器

執行如下命令

# cd /usr/local/mysql

# ./bin/mysql

顯示不需要密碼就可以鏈接上mysql服務器,說明mysql服務器安裝成功。

 

7.如下方法 關閉上一步中成功啓動起來的mysql服務器,

查找mysql服務器的進程

# ps -ef | grep mysql

顯示如上圖 6210 就是已運行的mysql的進程id

# kill 6210

此時如果執行 service mysql start 命令,仍舊不能成功啓動 mysql服務器,顯示報錯

Redirecting to /bin/systemctl start mysql.service
Failed to start mysql.service: Unit not found.

這是因爲 /etc/init.d 中沒有 mysql 的服務

執行如下命令,複製的同時重命名

# cp  /usr/local/mysql/support-files/mysql.server   /etc/init.d/mysql

然後執行

# service mysql start

顯示

Starting MySQL. SUCCESS!

mysql服務成功啓動

另外,也可以用 service mysql stop 來停止mysql服務器了

 

8.給mysql root用戶設置密碼

上面安裝成功的 mysql 不需要密碼就可以登錄

下面給mysql 的root用戶設置密碼

# mysql

# use mysql

# update user set password=password('pwd') where user='root';  (pwd是密碼明文)

# flush privileges;

# exit;

此時再輸入mysql 已經不能登錄mysql服務器了,需要用戶名和密碼了

# mysql -u root -p

按提示輸入密碼即可登錄

 

mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 下載 https://pan.baidu.com/s/195cYwF9TtM7GA2HLlcIRKg

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章