CentOS 7 安装 MySQL 8.0

CentOS 7 安装 MySQL 8.0

1. 安装 MySQL 8.0 的yum源
wget -i https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
yum install mysql80-community-release-el7-2.noarch.rpm(rpm -ivh)

2. 安装 MySQL
yum install mysql-community-server

3. 修改 所有者
sudo chown -R root:root /var/lib/mysql

4. 启动 MySQL 服务
systemctl start mysqld.service
service mysqld restart (CentOS 6 使用)
systemctl status mysqld.service

5. 查看 root 密码
cat /var/log/mysql.log

6. 登陆 MySQL
mysql -u root -p

7. 修改 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
flush privileges;
注: MySQL 8.0 更改密码策略,密码包含大小写字母数字特殊字符

8. 开启mysql的远程访问
update user set host = "%" where user = "root";

 

9. Navicat 连接(Windows 下)
MySQL 8.0 修改了 加密插件,默认为:caching_sha2_password,默认字符集为:utf8mb4 ( 支持 Emoji 表情存储 ) 导致 无法连接,可以修改加密插件,改为原来的 mysql_native_password
在my.cnf(或mi.ini) 中的 [mysqld] 下添加
default_authentication_plugin=mysql_native_password
character_set_server =utf8
重启 Mysql 服务
net start mysql ( Windows 下以管理员身份运行 )
systemctl restart mysqld.service (CentOS7)
登陆 Mysql 后,运行
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

忘记密码修改方法

利用--init-file参数解决

该参数指定服务启动时先执行一个包含sql命令文件,因此,只需要将重置密码的命令写在该文件中,以此参数指定启动时执行该命令,启动完成即可重置系统密码了。

第一步,关掉系统服务

    net start mysql ( Windows 下以管理员身份运行 )
    systemctl restart mysqld.service (CentOS7)   

第二步,创建一个文本文件mysqlc.sql,内含一条密码修改命令

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@123456';

第三步:命令行方式启动服务器,指定启动时执行上述的密码修改命令文件

    mysqld --init-file=(mysqlc.sql文件路径)--console

附录
/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]

你可能感兴趣的:(Linux)