使用Xshell连接到Linux服务器

页面效果

卸载历史版本MySQL

非首次安装需卸载历史版本MySQL,命令查看是否有安装MySQL历史版本组件

1
# rpm -qa|grep mysql

页面效果

上图中没有mysql环境–无需删除卸载

如果存在之前的安装程序需要卸载

查看MySQL服务状态

1
# service mysqld status

暂停MySQL服务

1
# service mysqld stop

卸载MySQL服务

需要把每个组件全部移除,注意可能会有组件的依赖前后顺序。

1
2
3
# rpm -ev [需要移除组件的名称]
或者
# rpm -e --nodeps [需要移除组件的名称] //此命令为强制卸载

安装MySQL

使用rpm来安装MySQL

因为CentOS 7默认安装的数据库是Mariadb,所以使用YUM命令是无法安装MySQL的,只会更新Mariadb。使用rpm来进行安装。可以在mysql的repo源仓库右键复制指定版本的数据库。

1
# wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm

先切换到opt目录

页面效果

下载rpm包

1
# wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm

页面效果

页面效果

页面效果

安装mysql80-community-release-el7-1.noarch.rpm包

1
# sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

安装完成后会在 /etc/yum.repos.d文件夹里面获得两个文件:

mysql-community.repo && mysql-community-source.repo

使用yum安装mysql服务

1
sudo yum install mysql-server --nogpgcheck

如果显示以下内容说明安装成功
Complete!

检查是否已经设置为开机启动MySQL服务

1
# systemctl list-unit-files|grep mysqld

如果显示上图所示,则表示已经设置为开机启动,如果没有设置为开机启动则执行

设置mysql开机启动

1
# systemctl enable mysqld.service

查看MySQL是否启动未启动则执行启动服务命令

1
2
3
4
5
查看是否启动MySQL服务
# ps -ef|grep mysql

启动服务
# systemctl start mysqld.service

初始化mysql

1
# mysqld --initialize

查看MySQL初始默认密码

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

密码:_.XGsj+(F7tQ

复制 root@localhost: 后面的密码。登录mysql,并粘贴默认密码
因为MySQL8.0的更改,导致必须要重置密码

如果启动mysql失败

需要修改数据目录权限

1
2
3
4
chmod -R 777 /root/
chown -R mysql /var/lib/mysql
chgrp -R mysql /var/lib/mysql

登录mysql修改默认密码

1
2
alter user 'root'@'localhost' identified by 'root123';

如果设置密码时候出现提示

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

代表需要降低policy的等级后在执行

1
2
3
SHOW VARIABLES LIKE 'validate_password%';     查看密码策略
set global validate_password.policy=0;
set global validate_password.length=1;

开启MySQL远程连接

1
2
3
4
5
use mysql;
#修改root账户权限
update user set host = '%' where user = 'root';
#刷新权限
flush privileges;

使用Navicat测试连接服务器mysql

如果连接不上,尝试防火墙打开3306端口

1
2
3
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-port

再次尝试