阿里云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;
再次连接,终于连上了。