86201746 2019-07-01
安装rpm包
sudo chmod 755 mysql80-community-release-el7-2.noarch.rpm sudo yum install mysql80-community-release-el7-2.noarch.rpm sudo yum update
安装MySQL
sudo yum install mysql-community-server
启动MySQL,并设置开机自动启动
sudo systemctl start mysqld sudo systemctl enable mysqld
与安装MySQL5.7不同,MySQL8.0安装过程中没有设置密码操作,MySQL自带root用户,root用户密码在MySQL启动时会写入日志文件中,可以使用一下命令查看:
cat /var/log/mysqld.log | grep password
使用日志文件中的密码后需要修改root密码才能对数据库进行操作.
mysql -u root -p # 然后输入日志文件中的密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; # 新密码必须符合MySQL8.0 密码策略,需要有一定的强度,否则会失败
设置远程主机可以访问数据库
USE mysql UPDATE user SET host='%' WHERE user='root' # 修改root用户可以远程登录 GRANT ALL PRIVILEGES ON *.* to 'root'@'%' WITH GRANT OPTION # root用户将拥有 对所有表操作的权限 FLUSH PRIVILEGES # 刷新权限
增加用户
USE mysql CREATE USER username IDENTIFIED BY 'password'; UPDATE user SET host='%' WHERE user='username' # 用户可以远程登录 GRANT EXECUTE,INSERT,SELECT,UPDATE /ALL PRIVILEGES ON 数据库名.数据表(可以用*代表所有) TO 'username'@'%'; FLUSH PRIVILEGES
查看用户权限
SHOW GRANTS FOR username
使用了with grant option和with admin option的被授权用户user1可以将自己获得的权限授予
其他用户(user2),不同在于,取消user1的权限时,如果user1是通过with grant option授权的,
则user2的权限也会被删除即级联删除权限,with admin option则是非级联删除权限,删除user1
的权限,user2的权限不会删除.
参考: