-
下载rpm包: wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
-
安装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
使用了with grant option和with admin option的被授权用户user1可以将自己获得的权限授予其他用户(user2),不同在于,取消user1的权限时,如果user1是通过with grant option授权的,则user2的权限也会被删除即级联删除权限,with admin option则是非级联删除权限,删除user1的权限,user2的权限不会删除.
参考:
- https://www.jb51.net/article/146276.htm
- https://www.cnblogs.com/testway/p/9289827.html
- https://blog.csdn.net/dongdong9223/article/details/47445625