CentOS7用yum安裝MySQL8
1. 配置YUM源
新建 vi /etc/yum.repos.d/mysql-community.repo
,使用清華源,內容如下:
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=https://opentuna.cn/mysql/yum/mysql-connectors-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql[mysql-tools-community]
name=MySQL Tools Community
baseurl=https://opentuna.cn/mysql/yum/mysql-tools-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql[mysql-5.6-community]
name=MySQL 5.6 Community Server
baseurl=https://opentuna.cn/mysql/yum/mysql-5.6-community-el7-$basearch/
enabled=0
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql[mysql-5.7-community]
name=MySQL 5.7 Community Server
baseurl=https://opentuna.cn/mysql/yum/mysql-5.7-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql[mysql-8.0-community]
name=MySQL 8.0 Community Server
baseurl=https://opentuna.cn/mysql/yum/mysql-8.0-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql
2. 安裝MySQL
# yum install -y mysql-community-server
3. 啟動MySQL
# service mysqld start
4. 檢視預設密碼
加粗部分即為預設密碼
# cat /var/log/mysqld.log | grep password
2021-07-25T12:29:02.180014Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: UsrXkeIG1A;0
5. 修改密碼
5.1 登入MySQL
加粗部分即為預設密碼
# mysql -p'UsrXkeIG1A;0'
5.2 修改root密碼
加粗部分即為新密碼,請牢記
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123' PASSWORD EXPIRE NEVER;
5.3 重新整理許可權
mysql> FLUSH PRIVILEGES;
5.4 退出MySQL
mysql> exit;
5.5 確認新密碼
加粗部分即為新密碼,能登入成功則新密碼沒問題
# mysql -pRoot@123
6. 建立新使用者
安全起見,我們不允許root使用者遠端訪問,建立新使用者擁有CRUD許可權
6.1 登入MySQL
mysql -p'Root@123'
6.2 建立新使用者
加粗部分即為密碼,請牢記
CREATE USER 'app'@'%' IDENTIFIED BY 'App@123456' PASSWORD EXPIRE NEVER;
6.3 為新使用者授權
授予所有資料庫的所有表的增加、修改、刪除、查詢、建立臨時表、鎖表、檢視資料庫的許可權
GRANT INSERT,UPDATE,DELETE,SELECT,CREATE TEMPORARY TABLES,LOCK TABLES,SHOW DATABASES ON *.* TO 'app'@'%';
6.4 重新整理許可權
mysql> FLUSH PRIVILEGES;
6.5 退出MySQL
mysql> exit;
6.6 用新使用者登入MySQL
加粗部分即為密碼
# mysql -uapp -pApp@123456
6.7 確認新使用者許可權
-
檢視所有資料庫,有許可權
mysql> show databases;
Database information_schema mysql performance_schema sys -
建立資料庫,沒許可權
mysql> create database app;
ERROR 1044 (42000): Access denied for user 'app'@'%' to database 'app' -
查詢資料表,有許可權
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select host,user from user;
host user % app localhost mysql.infoschema localhost mysql.session localhost mysql.sys localhost root
其他許可權不在一一驗證
6.8 驗證新使用者遠端登入
SSH到另一臺安裝了MySQL Client的伺服器
# mysql -h這裡換成目標MySQL伺服器的IP -uapp -pApp@123456
注意:目標MySQL伺服器防火牆需要關閉或開放3306
埠