centos7安装mysql8

1,922 阅读2分钟

前言 :第一次用linux命令安装mysql,还算顺利,记录一下操作步骤为了自己也为了大家。

下载mysql的rpm文件,下载地址 dev.mysql.com/downloads/r…  我的版本是centos7 选择linux7 下载,使用上传命令上传至/home目录

添加mysql仓库(-Uvh后面接的为你下载的rpm文件名)

sudo rpm -Uvh  mysql80-community-release-el7-3.noarch.rpm

执行完语句遇到了问题:警告:RPM 数据库已被非 yum 程序修改。 发现 2 个已存在的 RPM 数据库问题, 'yum check' 输出如下:

postfix-2.10.1-9.el7.x86_64 有缺少的需求 libmysqlclient.so.18()(64bit) 

postfix-2.10.1-9.el7.x86_64 有缺少的需求 libmysqlclient.so.18(libmysqlclient_18)(64bit) 

攻略了一下说是检查到没有安装mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm。 到mysql官网下载相应的版本。

wget https://downloads.mysql.com/archives/get/file/mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm
sudo rpm -ivh  mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm

这里我是怎么确定版本的呢,命令如下

find / -name "mysql-community*"

安装mysql 

sudo yum install -y mysql-community-server

启动mysql服务 

sudo service mysqld start 或 sudo systemctl start mysqld.service

查看mysql状态

service mysqld status 

新版本的Mysql会为root用户创建一个初始密码,需要更改。查看默认密码 

sudo grep 'temporary password' /var/log/mysqld.log

使用该初始密码登陆mysql

 mysql -uroot -pXXXX

登录后修改密码 ,8.0版本问题,用set password for 'root'@'localhost' = password('root123'); 这个命令会提示语法错误 。实际执行成功语句如下:

ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";

可能遇到的问题

mysql -uroot -p
root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

这是/var/lib/mysql权限问题   

sudo chown -R xxx:xxx /var/lib/mysql
xxx为当前的用户名以及所属组
查看用户组:
whoami 查看当前用户
groups 当前用户
重启MySQL服务



刷新权限
mysql> flush privileges;

打开远程访问,给创建的用户授权,大家都不建议给root用户远程访问的权限,但命令还是会贴出来哦

mysql> use mysql;mysql> CREATE USER 'user1'@'%' IDENTIFIED BY '123456';mysql> GRANT all ON *.* TO '用户名'@'%' WITH GRANT OPTION;
mysql> flush privileges;

mysql> GRANT PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;mysql> flush privileges;

开启mysql端口服务

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 
service network restart

 防火墙开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent 

Navicat连接时遇到的问题,Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误。网上说出现这种情况的原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种: 方法1.升级navicat驱动; 方法2.把mysql用户登录密码还原成mysql_native_password. 这里采用方法2解决问题。

mysql> ALTER USER 'nicole'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

查看mysql服务状态、停止、启动命令

service mysqld status
service mysqld stop
service mysqld start

卸载攻略:www.cnblogs.com/huchong/p/9…