一、下載mysql yum包
官方下載地址:https://dev.mysql.com/downloads/repo/yum/
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
二、安裝軟件源
rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
三、安裝mysql
yum install mysql-community-server
四、啟動(dòng)&配置
啟動(dòng)
service mysqld start
查看運(yùn)行狀態(tài)
service mysqld status
看到綠色的running代表已經(jīng)啟動(dòng)成功,然后mysql在5.6之后的版本都會(huì)默認(rèn)生成一個(gè)默認(rèn)密碼,是root用戶的。通過如下命令查看密碼
grep 'temporary password' /var/log/mysqld.log
六、創(chuàng)建用戶和分配權(quán)限
由于mysql8新提供了一種密碼加密方式caching-sha2-password,且為默認(rèn),目前很多客戶端都不支持,所以我們?cè)趧?chuàng)建新角色用戶的時(shí)候可以指定其為mysql_native_password,原來的root賬戶等不去做任何改變(無形之中增加了安全性有木有)
創(chuàng)建一個(gè)test用戶(一般情況下root用戶只在本地環(huán)境下使用),密碼是29dIg;2^,數(shù)據(jù)庫(kù)的密碼最好設(shè)置得連自己都記不住。
CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '29dIg;2^';
授權(quán)數(shù)據(jù)庫(kù)給用戶,并設(shè)置所有ip都可以遠(yuǎn)程連接
如果只授予用戶某些數(shù)據(jù)庫(kù)的話就把.改成 數(shù)據(jù)庫(kù)名稱.* 意思就是 數(shù)據(jù)庫(kù).表
如果只授予用戶某些權(quán)限的話,比如只能讀不能寫,就把GRANT ALL改成GRANT SELECT
GRANT ALL ON . TO 'test'@'%';
當(dāng)然,你也可以撤銷授權(quán),用法和授權(quán)幾乎都是一樣的。
REVOKE ALL ON . from 'test'@'%';
最后使設(shè)置立即生效
flush privileges
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
6、添加遠(yuǎn)程登錄用戶
默認(rèn)只允許root帳戶在本地登錄,如果要在其它機(jī)器上連接mysql,必須修改root允許遠(yuǎn)程連接,或者添加一個(gè)允許遠(yuǎn)程連接的帳戶,為了安全起見,我添加一個(gè)新的帳戶:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;
7、配置默認(rèn)編碼為utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
重新啟動(dòng)mysql服務(wù),查看數(shù)據(jù)庫(kù)默認(rèn)編碼如下所示:
MySQL8.0設(shè)置簡(jiǎn)單密碼image](http://upload-images.jianshu.io/upload_images/16471414-a596a4b056115b62.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4、MySQL 8.0 調(diào)整密碼驗(yàn)證規(guī)則:
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
5、重新設(shè)置密碼: ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'a123456';
CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci;