Bootstrap

Centos安装mysql8.0 rpm方式

1.下载mysql rpm包

执行以下命令
# wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
# rpm -ivh mysql80-community-release-el7-1.noarch.rpm
# yum install mysql-server

可能出现
Failing package is: mysql-community-server-8.0.34-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysq

 yum -y install mysql-community-server --nogpgcheck

2 初始化MySQL:

# mysqld --initialize

3 成功安装之后重启mysql服务

# service mysqld restart

可能出现的问题
Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details. 错误

查看日志tail -200f /var/log/mysqld.log 后发现是文件夹的写入权限问题在这里插入图片描述
执行以下命令即可

ll /var/lib/mysql |grep mysql
chown -R mysql:mysql /var/lib/mysql

4 检测是否安装完成

# service mysqld status

5进入mysql

mysql

出现密码错误问题

停止服务

service mysqld stop

设置免密进入mysql

vi /etc/my.cnf

最后加上

skip-grant-tables

重启mysql服务

# service mysqld restart

使用 mysql -u root 或者 mysql进入控制台

查询修改root密码为空字符

mysql> show databases;

mysql> use mysql;

mysql> update user set authentication_string='' where user='root';

退出删除之前加上的 “skip-grant-tables”
然后重启mysql
再进入mysql控制台

创建用户和设置密码支持远程连接

mysql> show databases;
mysql> use mysql;
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'yourpassword';
创建用户root 密码为yourpassword

可能出现

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

重置密码

alter user  user() identified by 'xxx';

修改MySQL8.0的密码的编码方式,由于MySQL8.0修改了他的编码方式,而我们的远超登录文件好像又没有这个编码方式的密码,因此,就只能将密码的编码方式修改为原来的编码方式了,不然就没有方法登陆

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';

设置用户权限

GRANT SELECT,INSERT,UPDATE,DELETE  ON *.* TO 'root'@'%';
设置user用户拥有增删改查权限

GRANT ALL  ON *.* TO 'root'@'%';
设置user用户拥有最高权限

参考资料
https://blog.csdn.net/u012946310/article/details/81880050
https://blog.csdn.net/qq_25340149/article/details/84307547

;