Centos7中MySQL8.0.23安装方法步骤
1.下载MySQL安装包
rpm -ivh http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2.安装mysql
yum install mysql-community-server
安装结果如果看到Complete!说明安装成功了。
3.设置mysql
设置开机启动Mysql
systemctl enable mysqld.service
检查是否已经安装了开机自启动
systemctl list-unit-files | grep mysqld
如果显示以下内容说明已经完成自动启动安装
设置开启服务
systemctl start mysqld.service
4.登录修改mysql密码
mysql8.0以后的版本和以前版本的修改密码方式不一样,需要注意!
查看mysql默认密码
grep 'temporary password' /var/log/mysqld.log
红框里是root用户的初始密码,后面登录时会用到。
登录mysql
mysql -uroot -p
修改当前密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@12345';
5.命令立即执行生效
flush privileges;
注意:如果要外网访问所有库,还需要一些设置。
创建外网登录用户
%表示所有用户,localhost表示本地用户,也可写具体IP地址
create user 'username'@'%' identified by 'password';
更改加密方式,mysql8引入了新特性 caching_sha2_password;老客户端不支持,改为mysql_native_password 方式;用update会导致用户丢失。要删掉重建。(注意密码规则)
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
授权:
如果要外网访问所有库,就像root用户一样就这样写
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
授予某个库下所有表的权限
GRANT ALL PRIVILEGES ON onedatabase.* TO'username'@'%';
授予某个库下某个表的权限
GRANT ALL PRIVILEGES ON onedatabase.onetable TO 'username'@'%';
授予某个库下某个表的读取权限
GRANT select ON onedatabase.onetable TO 'username'@'%';
立即生效
FLUSH PRIVILEGES;
总结,在mysql8.0中,不要对user表进行任何update之类的操作,不然你会永远丢失你的用户。