vlambda博客
学习文章列表

阿里云服务器安装mysql数据库

如果服务器属于第一次安装则跳过第一条

一、卸载mysql数据库

一、首先运行
通过远程工具登录服务器。(Xshell...)

rpm -qa | grep -i mysql

出来的是:
mysql-community-client-5.6.42-2.el7.x86_64
mysql-community-release-el7-5.noarch
mysql-community-libs-5.6.42-2.el7.x86_64
mysql-community-server-5.6.42-2.el7.x86_64
mysql-community-common-5.6.42-2.el7.x86_64


执行下面命令一个一个删除:
rpm -e --nodeps  mysql-community-client-5.6.42-2.el7.x86_64
rpm -e --nodeps  mysql-community-release-el7-5.noarch
rpm -e --nodeps  mysql-community-libs-5.6.42-2.el7.x86_64
rpm -e --nodeps  mysql-community-server-5.6.42-2.el7.x86_64
rpm -e --nodeps  mysql-community-common-5.6.42-2.el7.x86_64


再执行以下rpm -qa | grep -i mysql

发现没有关于它的文件了,就说明已经卸载完了。

二、安装mysql数据库

1、下载MySql安装包
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2、安装MySql

yum install -y mysql-server

yum install mysql-community-server
如果显示Complete!说明安装成功

3、设置开机启动Mysql

systemctl enable mysqld.service

4、检查是否已经安装了开机自动启动

systemctl list-unit-files | grep mysqld
如果显示以下内容说明已经完成自动启动安装
mysqld.service enabled

5、设置开启服务

systemctl start mysqld.service

6、查看MySql默认密码

在利用YUM安装mysql数据库过程中,系统会自动生成一个临时密码,获取方式为:

grep ‘temporary password’ /var/log/mysqld.log

#########

但是,如果以前安装过mysql,这时的mysqld.log中就不会有temporary password
这时就需要删除mysql残留的数据

########

rm -rf /var/lib/mysql

执行完毕后需要重新启动MySQL服务

systemctl restart mysqld

这时就可以通过上面的命令去查找数据库生成的临时密码了

7、登陆MySql,输入用户名和密码

mysql -uroot -p

修改当前用户密码

alter user 'root'@'localhost' identified by '123456';

########

可能出现错误

 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

########

1.解决方案

1.1 对于5.7版本的mysql,即可解决问题

set global validate_password_policy=0;

set global validate_password_length=1;

1.2对于8.0版本的解决方案 

set global validate_password.policy=0;

set global validate_password.length=1;

8、开启远程登录,授权root远程登录
1、命令输入:use mysql;

2、通过查询用户表,查看已有用户访问权限

命令:select User,authentication_string,Host from user;

我们看出host默认都是localhost访问权限

3、重点:修改用户远程访问权限

(1)修改为允许所有root用户远程访问;

命令输入:GRANT ALL PRIVILEGES ON * . * TO ‘root’@’%’ IDENTIFIED BY ‘123456’ ;

(2)刷新数据库

命令输入:flush privileges;

这句表示从mysql数据库的grant表中重新加载权限数据
因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

执行完这两步,再次查询用户表命令:select User,authentication_string,Host from user;

我们可以发现多了一个root用户,该用户所有的主机都可以访问,此时再次用sqlyog访问连接成功

查询mysql中所有用户权限

输入命令:select host,user from user;

9、关闭root用户远程访问权限

输入命令:delete from user where user=“root” and host="%" ;

禁止root用户在远程机器上访问mysql

输入命令:flush privileges;

修改权限之后,刷新MySQL相关表生效,发现root没有了远程访问的权限

10、命令立即执行生效
flush privileges;

11、服务器防火墙关闭

服务器的安全组配置一下。将3306开放就可以啦。最后刷新数据库、重启服务器。打开navicate可视化工具连接数据库。


**********感觉还可以记得关注收藏哦^_^********

最 / 美 / 二 / 十 / 四 / 节 / 气

鸿雁来


玄鸟归


群鸟养羞