安裝
# 下載yum源
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
# 安裝yum源
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
# 查看有哪些版本可安裝
yum repolist all | grep mysql
# 切換安裝版本
# 關閉5.7版本
sudo yum-config-manager --disable mysql57-community
# 打開5.6版本
sudo yum-config-manager --enable mysql56-community
# 安裝
sudo yum install mysql-community-server
在centos6下會報如下錯誤:(centos7正常)
Error: Package: mysql-community-server-5.6.48-2.el7.x86_64 (mysql56-community)
Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-server-5.6.48-2.el7.x86_64 (mysql56-community)
Requires: systemd
Error: Package: mysql-community-libs-5.6.48-2.el7.x86_64 (mysql56-community)
Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-server-5.6.48-2.el7.x86_64 (mysql56-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mysql-community-client-5.6.48-2.el7.x86_64 (mysql56-community)
Requires: libc.so.6(GLIBC_2.17)(64bit)
原因分析如下:
https://unix.stackexchange.com/questions/280385/can-not-install-mysql-server-on-centos-6-7-32bit-error-need-rpm
在網上找了一圈,按照下面一頓操作,發現能夠正常安裝成功
# cd /etc/yum.repos.d/ 找到mysql-56-community,將enable置爲0 enable=0
sudo vi mysql-community.repo
# 重新安裝mysql
sudo yum install mysql-server
在centos6上安裝完後,發現由於網絡安全原因,機器無法開3306端口;索性換了一臺centos7的機器,直接一氣呵成安裝MySQL8.0
基本操作
# 查看mysql運行狀態
sudo service mysqld status
# 查看端口情況
sudo lsof -i tcp:3306
# 啓動mysql,需要加sudo,否則會報FAILED錯誤
sudo service mysqld start
# 結束服務
sudo service mysqld stop
修改密碼
首次安裝後查看默認密碼
[work@40-31-60 soft]$ sudo grep 'temporary password' /var/log/mysqld.log
2020-05-21T09:56:30.576083Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: UlCbRjdoE4?a
默認情況下Mysql是不運行遠程連接的,故需要新增遠程連接賬戶
# 連接數據庫(輸入上面查詢出來的密碼)
mysql -u root -p
修改密碼
# 8.0下報錯
mysql> set password for root@localhost = password('root');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password('root')' at line 1
# 修改密碼(數字、大小寫、特殊字符)
alter user 'root'@'localhost' identified by '58daojiaDJ!!';
# 密碼複雜度過低會報如下錯誤
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 查看密碼強度規則
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
添加賬戶
查看現有用戶
# 選擇數據庫
mysql> use mysql;
# 用戶查詢
mysql> select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
4 rows in set (0.00 sec)
新增允許遠程連接的賬戶
# 新增用戶;[admin'@'%]中的%號代表允許任意遠程客戶端連接
mysql> CREATE USER 'admin'@'%' IDENTIFIED BY '58admin!!AAA';
# 添加權限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
其他
爲work賬戶添加sudo權限
root 賬戶鍵入visudo
即可進入sudo配置
找到root ALL=(ALL) ALL
在這一行下面增加work ALL=(ALL) NOPASSWD:ALL
即可