一. 檢查是否安裝過(guò)MySQL
檢查當(dāng)前系統(tǒng)是否安裝過(guò)mysql
執(zhí)行安裝命令前,先執(zhí)行查詢(xún)命令
1. CentOS6
rpm -qa|grep mysql
如果存在mysql-libs的舊版本包如下:
請(qǐng)先執(zhí)行卸載命令:rpm -e --nodeps mysql-libs
2. CentOS7
先執(zhí)行查詢(xún):rpm -qa|grep mariadb
如果存在mariadb執(zhí)行刪除:rpm -e --nodeps mariadb-libs
二. 安裝MySQL
1. 將壓縮包傳到服務(wù)器
我這里用的是mysql-5.7.16 , 如需其他版本可自行下載
這里是mysql-5.7.16的壓縮包 :
鏈接:https://pan.baidu.com/s/1zNmv-0Io2BQmp0e3go72Gg
提取碼:wjud
2. 解壓文件
tar -zxv mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar.gz
3. 安裝(按順序執(zhí)行)
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
查看安裝版本:mysqladmin --version
查看mysql用戶(hù):id mysql
4. MySQL服務(wù)初始化
執(zhí)行下面的命令初始化:
mysqld --initialize --user=mysql
使用mysql系統(tǒng)用戶(hù)以安全模式為 root 用戶(hù)生成一個(gè)密碼并將該密碼標(biāo)記為過(guò)期,登陸后你需要設(shè)置一個(gè)新的密碼
查看密碼:cat /var/log/mysqld.log
5. 修改初始化密碼
要修改MySQL,首先必須啟動(dòng)MySQL服務(wù),使用初始化密碼登錄后,才能修改密碼:
啟動(dòng)MySQL服務(wù):systemctl start mysqld.service
關(guān)閉MySQL服務(wù):systemctl stop mysqld.service
修改密碼:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
6. MySQL自啟動(dòng)
查看mysql是否自啟動(dòng)(默認(rèn)自啟動(dòng))
systemctl list-unit-files|grep mysqld.service
如不是enabled可以運(yùn)行如下命令設(shè)置自啟動(dòng)
systemctl enable mysqld.service
7. 修改字符集問(wèn)題
測(cè)試mysql的使用:
出現(xiàn)了編碼問(wèn)題,原因:查看mysql編碼(show variables like '%character%';
),發(fā)現(xiàn)默認(rèn)編碼是latin1
修改編碼,需要修改mysql配置文件:vi /etc/my.cnf
在mysqld下添加一行編碼配置:character_set_server=utf8
保存并退出,重啟mysql服務(wù):systemctl restart mysqld
已生成的庫(kù)表字符集如何變更?
修改數(shù)據(jù)庫(kù)的字符集:alter database mydb character set 'utf8';
修改數(shù)據(jù)表的字符集:alter table mytbl convert to character set 'utf8';
8. 遠(yuǎn)程訪問(wèn)MySQL
接下來(lái)用宿主機(jī)navicat客戶(hù)端訪問(wèn)MySQL服務(wù),報(bào)如下錯(cuò)誤:(確保防火墻已關(guān)閉)
原因:默認(rèn)情況下,mysql不允許遠(yuǎn)程連接。只允許localhost連接
執(zhí)行:select host,user,authentication_string,select_priv,insert_priv from mysql.user;
解決方案:
- 創(chuàng)建新的用戶(hù)(此處省略)
- 修改root用戶(hù)訪問(wèn)權(quán)限
9. 授予root遠(yuǎn)程訪問(wèn)權(quán)限
授權(quán)命令:
grant 權(quán)限1,權(quán)限2,…權(quán)限n on 數(shù)據(jù)庫(kù)名稱(chēng).表名稱(chēng) to 用戶(hù)名@用戶(hù)地址 identified by ‘連接口令’;
該權(quán)限如果發(fā)現(xiàn)沒(méi)有該用戶(hù),則會(huì)直接新建一個(gè)用戶(hù)。
比如
grant all privileges on *.* to root@'%' identified by 'root'; #授予通過(guò)網(wǎng)絡(luò)方式登錄的的root用戶(hù),對(duì)所有庫(kù)所有表的全部權(quán)限,密碼設(shè)為root.
擴(kuò)展:
查看當(dāng)前用戶(hù)權(quán)限:show grants;
查看當(dāng)前用戶(hù)的全局權(quán)限:select * from user ;
查看某用戶(hù)的某個(gè)表的權(quán)限:select * from tables_priv;
收回權(quán)限命令:
revoke 權(quán)限1,權(quán)限2,…權(quán)限n on 數(shù)據(jù)庫(kù)名稱(chēng).表名稱(chēng) from 用戶(hù)名@用戶(hù)地址 ;
收回全庫(kù)全表的所有權(quán)限:REVOKE ALL PRIVILEGES ON mysql.* FROM li4@localhost;
收回mysql庫(kù)下的所有表的插刪改查權(quán)限:REVOKE select,insert,update,delete ON mysql.* FROM li4@localhost;
必須用戶(hù)重新登錄后才能生效
10. 測(cè)試連接
連接測(cè)試:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-441728.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-441728.html
到了這里,關(guān)于Centos7 安裝MySQL 5.7圖文詳細(xì)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!