1.CentOS7一般會(huì)自帶數(shù)據(jù)庫(kù) mariadb,MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)是MySQL的一個(gè)分支,完全兼容mysql但這會(huì)影響我們安裝mysql,所以在安裝mysql前,要把mariadb刪除干凈
執(zhí)行如下命令查看是否有安裝 mariadb
# rpm -qa|grep mariadb
我的系統(tǒng)上顯示已安裝
mariadb-libs-5.5.56-2.el7.x86_64
需要執(zhí)行如下命令卸載刪除
# 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
執(zhí)行如下命令解壓文件; 并重命名解壓后的目錄為 mysql; 完成后目錄為 /usr/local/mysql
# tar -zxvf? mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
3.執(zhí)行如下命令添加mysql用戶組和用戶
# groupadd mysql;
# useradd -r -g mysql mysql
4.壓縮包解壓后里面有個(gè)目錄是data,即/usr/local/mysql/data,我們就用該目錄存放數(shù)據(jù)庫(kù)數(shù)據(jù)
5.執(zhí)行如下命令授權(quán) /usr/local/mysql 目錄給用戶 mysql
# chown -R mysql:mysql /usr/local/mysql
6.執(zhí)行如下命令初始化數(shù)據(jù)庫(kù)
進(jìn)入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 不推薦默認(rèn),所以最好加上該參數(shù)值的設(shè)置
改初始化命令如下
# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp=true
******有報(bào)錯(cuò)
[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
需要先初始化權(quán)限相關(guān)等數(shù)據(jù)庫(kù)表
執(zhí)行如下命令
#./scripts/mysql_install_db --user=mysql? (注意此命令在/usr/local/mysql目錄下執(zhí)行)
執(zhí)行成功,此時(shí)可以看到/usr/local/mysql目錄下生成了my.cnf 文件
此時(shí)再執(zhí)行
#./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)
表示數(shù)據(jù)庫(kù)安裝啟動(dòng)成功
此時(shí)再打開一個(gè)ssh會(huì)話,登錄到服務(wù)器
執(zhí)行如下命令
# cd /usr/local/mysql
# ./bin/mysql
顯示不需要密碼就可以鏈接上mysql服務(wù)器,說明mysql服務(wù)器安裝成功。
7.如下方法 關(guān)閉上一步中成功啟動(dòng)起來的mysql服務(wù)器,
查找mysql服務(wù)器的進(jìn)程
# ps -ef | grep mysql
顯示如上圖 6210 就是已運(yùn)行的mysql的進(jìn)程id
# kill 6210
此時(shí)如果執(zhí)行 service mysql start 命令,仍舊不能成功啟動(dòng) mysql服務(wù)器,顯示報(bào)錯(cuò)
Redirecting to /bin/systemctl start mysql.service
Failed to start mysql.service: Unit not found.
這是因?yàn)?/etc/init.d 中沒有 mysql 的服務(wù)
執(zhí)行如下命令,復(fù)制的同時(shí)重命名
# cp? /usr/local/mysql/support-files/mysql.server? /etc/init.d/mysql
然后執(zhí)行
# service mysql start
顯示
Starting MySQL. SUCCESS!
mysql服務(wù)成功啟動(dòng)
另外,也可以用 service mysql stop 來停止mysql服務(wù)器了
8.給mysql root用戶設(shè)置密碼
上面安裝成功的 mysql 不需要密碼就可以登錄
下面給mysql 的root用戶設(shè)置密碼
# mysql
# use mysql
# update user set password=password('pwd') where user='root';? (pwd是密碼明文)
# flush privileges;
# exit;
此時(shí)再輸入mysql 已經(jīng)不能登錄mysql服務(wù)器了,需要用戶名和密碼了
# mysql -u root -p
按提示輸入密碼即可登錄
mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 下載 https://pan.baidu.com/s/195cYwF9TtM7GA2HLlcIRKg