阿里云mysql安装配置和使用


首先,确认是否有预装的mysql

rpm -qa|grep -i mysql

如果有,删除掉

rpm -e --nodeps 文件名

没有的话直接进行下一步,复制以下三个命令,分别运行,过程中需要点几次y(表示yes)

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 
yum localinstall  mysql80-community-release-el7-3.noarch.rpm
yum install mysql-community-client mysql-community-server

因为是使用 rpm安装的 ,无需配置,可直接使用,接下来开启服务

systemctl start mysqld #启动mysql服务
systemctl enable mysqld #设置开机启动
systemctl status mysqld #检查mysql状态

在 这里我遇到一个问题,这里的active为exited(正常的话 应该是running)

我没在意,但是当我想查看mysql.log里生成的临时密码时,发现找不到,这就有问题了呀,一番查找,发现是自己删除以前安装的mysql时没有删除干净,解决方式:

rm -rf /var/lib/mysql
systemctl restart mysqld

先删除/var/lib/mysql,再重启,此时使用systemctl status mysqld,可以得到

好了,接下来继续,获取临时密码,登陆mysql

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

可以得到临时密码如下:

root@localhost:后面的就是生成的临时密码
使用命令

mysql -u root -p  密码

进行登陆,然后修改密码

alter user'root'@'localhost' identified by '新密码'

密码要求要大小写数字和特殊字符,不符合格式的话会报错

接下来配置远程登陆的权限

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;#刷新权限

配置驱动改成密码驱动

ALTER USER 'root'@'%' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

到这里,差不多已经配置好了,然后我打开了Navicat连接数据库,又报错了!
1045-Access denied for user 'root'@'localhost'解决方法
解决方式:
先授权给登陆的root用户,flush privileges 使更改立即生效

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

再次连接,终于连上了。