Mysql集羣-----(03) Centos7 安裝Mysql(使用yum方式)

Centos7 安裝Mysql5.7 使用yum 方式安裝方便Mysql及時更新

Mysql官方安裝教程

1. 下載mysql yum庫

最新版本地址: http://dev.mysql.com/downloads/repo/yum/

注意:
1. Centos5 對應 Red Hat Enterprise Linux 5
2. Centos6 對應Red Hat Enterprise Linux 6
3. Centos7 對應Red Hat Enterprise Linux 7

# 如果沒有wget 可以安裝 yum install wget
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

2. 安裝 Mysql yum 庫

yum localinstall mysql-community-release-el7-{version-number}.noarch.rpm

3. 更新yum

yum update

這次應該能看到mysql安裝

4. 查看當前啓動的mysql版本

yum repolist all | grep mysql

可以看到當前啓用MySQL版本,默認啓用最高版本Mysql,可手動啓用其他版本
image

5. 安裝Mysql數據庫

 yum install mysql-community-server

會看到正在下載Mysql數據庫
image

6. 啓動Mysql數據庫

systemctl start mysqld.service

查看Mysql服務啓動情況

systemctl status mysqld.service

注意: 啓動出錯: Can’t change data directory owner to mysql
由於安全限制需要將防火牆關閉 setenforce 0

7. 修改Root密碼

1. 查看root臨時密碼

 grep  'temporary password' /var/log/mysqld.log 

2. 使用臨時密碼登錄Mysql

mysql -uroot -p

3. 修改root密碼

a. 自定義密碼安全策略:validate_password_policy (修改該值即可)
  • 取值有3中:
    • 0 or LOW : 長度,至少8位
    • 1 or MEDIUM : 符合長度,且必須含有數字,小寫或大寫字母,特殊字符。
    • 2 or STRONG : 符合長度,且必須含有數字,小寫或大寫字母,特殊字符。字典文件

測試環境密碼不需要那麼複雜,設置級別爲0即可

mysql> set global validate_password_policy=0;
b. 查看密碼長度(需要修改密碼之後才能執行):
mysql> SHOW VARIABLES LIKE 'validate_password%';
# 修改密碼長度爲6,默認爲8
mysql> set global validate_password_length=6;
c. 修改Root密碼:
# 修改root密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

詳細權限配置參考: https://www.cnblogs.com/candle806/p/4048651.html

注意: 如果忘記初始密碼可以在mysql日誌文件中查找 /var/log/mysqld.log

8. Mysql數據庫目錄遷移(可選)

  1. 對於首次啓動Mysql,修改my.cnf 之後可以使用如下命令,初始化目錄
mysql_install_db --user=mysql \
         --basedir=/opt/mysql/mysql \
         --datadir=/opt/mysql/mysql/data

詳細說明參考:https://dev.mysql.com/doc/refman/5.6/en/mysql-install-db.html

另外一種使用mysqld 初始化數據目錄
詳細說明參考:https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html

問題:

如果目錄權限正確,但是不能啓動MySQL,可能跟SeLinux有關,修改seLinux指定目錄權限即可

chcon -R -t mysqld_db_t  dir

臨時關閉防火牆:

setenforce 0 

永久關閉防火牆:

# 將SELINUX=enforcing改爲SELINUX=disabled
vim /etc/selinux/config

9. Mysql用戶授權

1. 創建用戶

mysql > CREATE USER 'username'@'%' IDENTIFIED BY 'password';

2. 給用戶授予數據庫操作權限:

# % 爲全部Ip, 數據庫名.標名 可以使用 * 代替,表示所有庫中所有表
mysql > grant all privileges on database_name.table_name to  'username'@'host';

3. 取消用戶數據庫操作權限

mysql> revoke all on dingshops.*  from 'test'@'%';

4. 查看用戶數據庫操作權限:

mysql> show grants for   'test'@'%';

5. 更改用戶密碼

mysql> SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

6. 刷新使權限生效:

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