Centos7中安装MySQL8.0
1、 配置Mysql 8.0安装源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2、安装Mysql 8.0
sudo yum --enablerepo=mysql80-community install mysql-community-server
3、启动mysql
sudo service mysqld start
4、查看root临时密码
grep "A temporary password" /var/log/mysqld.log
5、进入数据库
mysql -uroot -p
6、修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
7、配置远程访问权限并刷新
mysql> use mysql;
mysql> GRANT ALL ON *.* TO 'root'@'%';
mysql> flush privileges;
执行:select host, user, authentication_string, plugin from user;
发现 root 用户的 host 已经变成 %,说明我们的修改已经成功,可以远程访问了
8、重启
sudo service mysqld restart
9、修改配置文件
默认安装的mysql,配置文件一般就在/etc/my.cnf目录下:
vim /etc/my.cnf
#相关错误解决方案#:
1、配置远程访问权限:执行 GRANT ALL ON . TO ‘root’@’%’; 如果报如下错误:
ERROR 1410 (42000): You are not allowed to create a user with GRANT
解决:
(1)、进入数据库:mysql -uroot -p
(2)、执行:use mysql;
(3)、select host, user, authentication_string, plugin from user;
(4)、update user set host='%' where user='root';
(5)、update成功过后再次执行:GRANT ALL ON *.* TO 'root'@'%';
(6)、刷新:flush privileges;
2、通过远程工具l比如:“Navicat12”连接报如下错误:
Host is not allowed to connect to this MySQL server
解决办法:
登录MySQL mysql -u root -p
输入密码
use mysql
update user set host =’%’ where user = ‘root’;执行会报错,不影响结果
GRANT ALL ON . TO ‘root’@’%’;
flush privileges;
查看数据源:show variables like ‘datadir’;