搭建 MySQL 测试环境
当本专栏结束时,我们应该有一套完整的 MySQL 测试环境。
包括:
- 安装好的 MySQL
- 配置好的 root 用户
- 创建的 furnace 用户
- 对 furnace 用户的适当授权
- 创建好的数据库及表
- MySQL 热备份
- 优美的 SQL 语句
1. Install MySQL 5.7 on CentOS 7
2. 修改用户 root 的密码
2.1 查找临时密码
[furnace@localhost ~]$ sudo grep 'temporary password' /var/log/mysqld.log
2019-02-13T13:22:27.145777Z 1 [Note] A temporary password is generated for root@localhost: %.q1-I;X#Yuk
2.2 用临时密码登录
[furnace@localhost ~]$ mysql -uroot -p
Enter password:%.q1-I;X#Yuk
2.3 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root@Furnace@2018';
2.4 用密码登录 root
[furnace@localhost ~]$ mysql -uroot -proot@Furnace@2018
3. 用户管理
3.0 查看用户信息
mysql> USE mysql;
mysql> SELECT Host, User FROM user;
+-----------+---------------+
| Host | User |
+-----------+---------------+
| % | furnace |
| % | trade |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
mysql>
3.1 创建用户 furnace
mysql> CREATE USER 'furnace'@'%' IDENTIFIED BY 'furnace@Furnace@2018';
4. 数据库管理
4.0 查看数据库
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| furnace |
| mysql |
| performance_schema |
| sys |
+--------------------+
mysql>
4.1 创建数据库 furnace
mysql> CREATE DATABASE IF NOT EXISTS furnace DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
5. 权限管理
5.0 查看用户权限
mysql> SHOW GRANTS FOR 'furnace'@'%';
+-------------------------------------+
| Grants for furnace@% |
+-------------------------------------+
| GRANT USAGE ON *.* TO 'furnace'@'%' |
+-------------------------------------+
mysql>
5.1 授权给用户 furnace
mysql> GRANT ALL PRIVILEGES ON furnace.* TO 'furnace'@'%';
Reference
Contributor
- Windstamp, https://github.com/windstamp
附录 A. 授权所有权限给用户 furnace
mysql> GRANT ALL PRIVILEGES ON *.* TO 'furnace'@'%';
上述命令使得用户 furnace 具备了操作所有数据库的所有权限。
这样的授权粒度太大,实际操作中需要小心,所以单独放到附录中来说明。