一、環(huán)境
操作系統(tǒng)
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
將要安裝的mysql版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.18 |
+-----------+
1 row in set (0.00 sec)
二、安裝
在任意目錄執(zhí)行下述三句命令,即可完成安裝mysql。
(1)下載
以下命令是從官網(wǎng)下載mysql的rmp package并保存在當(dāng)前目錄(保存在任意位置均可,但第二步中的安裝repo命令也要在當(dāng)前下載目錄執(zhí)行)。可以從官網(wǎng)找到最新的各個(gè)版本的安裝包,如果安裝其他版本可以將命令中的版本信息替換掉。
[root@localhost ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
(2)安裝repo
[root@localhost ~]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
(3)安裝mysql-server
[root@localhost ~]# yum install mysql-server
三、設(shè)置密碼
嚴(yán)格按照步驟來
在上一步安裝完成后,啟動(dòng)mysql后會(huì)發(fā)現(xiàn),直接輸入mysql
,會(huì)發(fā)現(xiàn)直接就進(jìn)入了,或者輸入mysql -u root -p
,讓輸入密碼時(shí),不輸入任何字符直接按enter
鍵就可以直接進(jìn)入了。說明初次安裝mysql時(shí),root賬戶沒有密碼。
在設(shè)置密碼時(shí),踩了很多坑,mysql5.7與mysql5.6的密碼設(shè)置方式存在差異,以下是5.7版本的設(shè)置方式:
(1)跳過mysql密碼驗(yàn)證
打開mysql配置文件my.cnf:
[root@localhost ~]# vim /etc/my.cnf
打開后,在[mysqld]下方插入以下內(nèi)容:
skip-grant-tables
skip-networking
(2)啟動(dòng)mysql,并匿名登錄
啟動(dòng)mysql服務(wù):
[root@localhost ~]# service mysqld start
匿名登錄mysql:
[root@localhost ~]# mysql
(3)在mysql中執(zhí)行下述兩條命令
//修改密碼
mysql> update mysql.user set authentication_string=PASSWORD('你的密碼') where user='root' and host='localhost';
//權(quán)限賬號(hào)信息是在MYSQLD服務(wù)啟動(dòng)的時(shí)候就加載到內(nèi)存中的
//所以在原權(quán)限表中的任何直接修改都不會(huì)直接生效。
//用下述命令把表中的信息更新到內(nèi)存
mysql> flush privileges;
(4)取消跳過mysql密碼認(rèn)證:
打開mysql配置文件my.cnf:
[root@localhost ~]# vim /etc/my.cnf
打開后,將之前在[mysqld]下方插入的內(nèi)容注釋掉或刪掉
#skip-grant-tables
#skip-networking
(5)重啟mysql
[root@localhost ~]# service mysqld restart
(6)進(jìn)入mysql,通過ALTER的方式再次修改密碼
//將mysql的密碼強(qiáng)度級(jí)別設(shè)置為 LOW(密碼任意,但長(zhǎng)度在 8 位或以上)
mysql> set global validate_password_policy=0;
//如果想要設(shè)置的密碼少于8位,請(qǐng)執(zhí)行下述命令(最少是4)
mysql> set global validate_password_length=4;
//通過ALTER的方式再次修改密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼'
至此,完成密碼的設(shè)置。
四、遠(yuǎn)程連接
//進(jìn)入mysql,執(zhí)行以下語(yǔ)句
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
//上述命令的意思是允許myuser用戶使用mypassword從任何主機(jī)連接到mysql服務(wù)器
//假如我們想讓root用戶使用密碼123456從任何主機(jī)連接到mysql服務(wù)器,則可以將上述命令修改為:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
參考
1、Centos 7 使用Yum 安裝 MySQL
2、mysql 5.7 設(shè)置root密碼方法
3、centos7 mysql數(shù)據(jù)庫(kù)安裝和配置
4、解決 MySQL 5.7 中 Your password does not satisfy the current policy requirements. 問題
5、mysql 遠(yuǎn)程訪問不行解決方法 Host is not allowed to connect to this MySQL server