阿里云服务器安装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可视化工具连接数据库。
**********感觉还可以记得关注收藏哦^_^********
最 / 美 / 二 / 十 / 四 / 节 / 气
白露
鸿雁来
玄鸟归
群鸟养羞