linux安裝mysql5.7及配置
阿新 • • 發佈:2019-02-10
目錄
1.需求介紹
這幾天老大又甩個功能,一個星期連做3個功能,確實累成狗,不過也學到新技能,現在回頭翻翻筆記,幾個鐘頭能配置完的東西,成長几何倍。因為要做資料庫的讀寫分離功能,所以先介紹下mysql的安裝配置,下篇文章mysql讀寫分離
2.mysql安裝
我們先檢查本地是否安裝mysql
# yum list installed | grep mysql //檢查安裝 # yum -y remove mysql-libs.x86_64 //解除安裝 //若有多個依賴檔案則依次解除安裝。當結果顯示為 Complete!即解除安裝完畢。
2.1依賴安裝
MySQL依賴libaio,所以先要安裝libaio
# yum search libaio //檢索相關資訊 # yum install libaio //安裝依賴包 // 成功安裝,提示如下: 已載入外掛: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.yun-idc.com * extras: mirrors.163.com * updates: mirrors.163.com 軟體包 libaio-0.3.109-12.el7.x86_64 已安裝並且是最新版本
2.2新增mysql yum respository
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm # yum localinstall mysql-community-release-el7-5.noarch.rpm // 驗證是否新增成功 # yum repolist enabled | grep "mysql.*-community.*" // 內容如下 mysql-connectors-community/x86_64 MySQL Connectors Community 1 mysql-tools-community/x86_64 MySQL Tools Community 1 mysql56-community/x86_64 MySQL 5.6 Community Server 13
2.3選擇要啟用的mysql版本
# yum repolist all | grep mysql //檢視mysql版本,執行
//可以看到 5.5, 5.7 版本是預設禁用的,因為現在最新的穩定版是 5.6
mysql-connectors-community/x86_64 MySQL Connectors Community 啟用: 14
mysql-connectors-community-source MySQL Connectors Community - Sourc 禁用
mysql-tools-community/x86_64 MySQL Tools Community 啟用: 17
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - Sourc 禁用
mysql56-community/x86_64 MySQL 5.6 Community Server 啟用: 139
mysql56-community-source MySQL 5.6 Community Server - Sourc 禁用
mysql57-community-dmr/x86_64 MySQL 5.7 Community Server Develop 禁用
mysql57-community-dmr-source MySQL 5.7 Community Server Develop 禁用
//可以通過類似下面的語句來啟動某些版本
# yum-config-manager --disable mysql56-community yum-config-manager --enable mysql57-community-dmr
//或者通過修改 /etc/yum.repos.d/mysql-community.repo 檔案
# /etc/yum.repos.d/mysql-community.repo 檔案
//內容如下
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
//其中 enabled=0 是指禁用,enabled=1 指啟用。
//執行,檢視當前的啟動的 MySQL 版本
# yum repolist enabled | grep mysql
注意: 任何時候,只能啟用一個版本。
2.4 通過Yum安裝mysql
# yum install mysql-community-server
//Yum 會自動處理 MySQL 與其他元件的依賴關係,顯示內容如下:
已載入外掛:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.yun-idc.com
* extras: mirrors.163.com
* updates: mirrors.163.com
正在解決依賴關係
--> 正在檢查事務
---> 軟體包 mysql-community-server.x86_64.0.5.6.24-3.el7 將被 安裝
...... ......
//中途遇到提示,按照提示安裝
//執行
# rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7
# whereis mysql //可以看到mysql的安裝目錄是/usr/bin
2.5防火牆啟動關閉命令
# systemctl start mysqld //開啟 MySQL Server
# systemctl status mysqld //檢視 MySQL Server 狀態
# systemctl stop mysqld //關閉 MySQL Server
2.6測試是否安裝成功
# mysql //進入mysql命令列介面
3.遠端連線mysql,開啟防火牆埠
//開啟 iptables 的配置檔案:
# vim /etc/sysconfig/iptables
//如果該 iptables 配置檔案 不存在,先執行
# yum install iptables-services //安裝。
//iptables檔案中新增以下內容
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp
//執行
# firewall-cmd --reload //重啟防火牆,使最新的防火牆設定規則生效。
//mysql安全設定,伺服器啟動後,可以執行
# mysql_secure_installation;
4.mysql其他問題
4.1mysql賬號設定
//建立一個普通使用者 user ,密碼是 user
mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'user';
//給這個使用者授予 SELECT,INSERT,UPDATE,DELETE 的遠端訪問的許可權,這個賬號一般用於提供給實施的系統訪問
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'user'@'%';
//建立一個管理員使用者 admin 賬號 ,密碼是 some_pass
mysql> CREATE USER 'admin'@'%' IDENTIFIED BY 'admin';
//給這個使用者授予所有的遠端訪問的許可權。這個使用者主要用於管理整個資料庫、備份、還原等操作。
mysql> GRANT ALL ON *.* TO 'admin'@'%';
//使授權立刻生效
mysql> flush privileges;
4.2更改資料庫存放目錄
//home 目錄下建立 data 目錄
# mkdir /home/data
//把 MySQL 服務程序停掉
# systemctl stop mysqld
//或者
# mysqladmin -u root -p shutdown
//移動資料到資料存放目錄
// /var/lib/mysql 整個目錄移到 /home/data,執行
# mv /var/lib/mysql /home/data
#vim /etc/my.cnf //修改 /etc/my.cnf 檔案
//內容如下
[mysqld]
datadir=/home/data/mysql
socket=/home/data/mysql/mysql.sock
[mysql]
socket=/home/data/mysql/mysql.sock
# chown -R mysql:mysql /home/data/mysql //修改許可權
//重啟後,如果不能啟動 MySQL 服務,執行
# vim /etc/sysconfig/selinux
調整SELINUX=permissive
儲存設定,執行 reboot 重啟生效
4.3開機啟動mysql設定
# systemctl is-enabled mysqld.service;echo $?
//如果是 enabled 則說明是開機自動,如果不是,執行
# chkconfig --levels 235 mysqld on
4.4設定mysql UTF-8編碼
# vim /etc/my.cnf
//修改內容如下
[mysqld]
character_set_server = utf8
[mysql]
default-character-set = utf8
//檢視當前 MySQL 字符集進入mysql
#mysql> SHOW VARIABLES LIKE 'character%';
#mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
5修改MySQL密碼
可以直接登入的小夥伴,直接設定密碼即可
mysql>set password for 'root'@'localhost'=password('newpasswd');
無法直接登入的小夥伴,參考一下步驟
//獲取MySQL的臨時密碼, 只有啟動過一次mysql才可以檢視臨時密碼
# grep 'temporary password' /var/log/mysqld.log
//登陸並修改密碼
# mysql -uroot -p
//修改密碼
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
//密碼設定太簡單出現以下的提示
ERROR 1819 (HY000): Your password …
//首先,修改validate_password_policy引數的值
mysql> set global validate_password_policy=0;
//再修改密碼的長度
mysql> set global validate_password_policy=0;
//再次執行修改密碼就可以了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
//授權其他機器登陸
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
如有侵權,請聯絡小編。