1、查看已有mysql(包括mariadb)
rpm -pa | grep mariadb yum list installed | grep mariadb rpm -pa | grep mysql
rpm -qa | grep mysql
yum list installed | grep mysql
2、删除mysql
yum -y remove mysql-libs.x86_64 rpm -e mariadb-libs-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 (强制删除)
删除相关文件
数据库目录
rm -rf /var/lib/mysql/
配置文件
rm -rf /usr/share/mysql(mysql.server命令及配置文件)
相关命令
rm -rf /usr/bin/mysql* (mysqladmin mysqldump等命令)
3、下载
wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
#5.7 下载
# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
# 或者wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
4、安装yum repo文件并更新yum缓存
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
查看yum唱仓库的mysql版本:yum repolist all | grep mysql
5、安装mysql服务器加客户端
yum -y install mysql mysql-server mysql-libs
如果仅安装客户端
yum install mysql
安装完毕后,运行mysql,然后在 /var/log/mysqld.log 文件中会自动生成一个随机的密码,我们需要先取得这个随机密码,以用于登录 MySQL 服务端:
service mysqld start
grep "password" /var/log/mysqld.log
将会返回如下内容,末尾字符串就是密码,把它复制下来:
A temporary password is generated for root@localhost: hilX0U!9i3_6
登录到 MySQL 服务端并更新用户 root 的密码:
注意:由于 MySQL5.7 采用了密码强度验证插件 validate_password,故此我们需要设置一个有一定强度的密码;
mysql -u root -p
hilX0U!9i3_6
然后更改密码
ALTER user 'root'@'localhost' IDENTIFIED BY 'new password'
设置用户 root 可以在任意 IP 下被访问:
grant all privileges on *.* to root@"%";
设置用户 root 可以在本地被访问:
grant all privileges on *.* to root@"localhost";
刷新权限使之生效:
flush privileges;
注意:先不要退出此终端,另开一个终端尝试新密码登录。
6、配置防火墙
vim /etc/sysconfig/iptables -A INPUT -s 172.16.99.0/24 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT systemctl enable iptables.service systemctl start iptables.service
7、把mysql加入开机启动
systemctl enable mysqld.service
systemctl start mysqld.service
8、远程客户端连接测试
mysql -u root -h 172.16.99.1 -p
9、/etc/my.cnf 默认语言就是utf-8,不需要修改。如需配置my.cnf,请参阅https://dev.mysql.com/doc/refman/8.0/en/variables-info-table.html
[mysqld] max_connections=200
show global variables like 'max_connections';