mysql5.7下载地址 https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1、卸载mariadb
rpm -e --nodeps mariadb-libs
2、安装net-tools(安装server时会提示需要此工具)
yum install -y net-tools
3、安装mysql
mkdir mysqldir # 解压mysql文件到这个目录,可自行设置解压位置
tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar -C ./mysqldir/
cd mysqldir/
# 注意下边命令中的小版本号改为自己下载的版本
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
4、配置mysql密码
service mysqld stop
vim /etc/my.cnf
在其中添加以下内容
# 先找到下边这句话,然后在其下添加
# Disabling symbolic-links is recommended to prevent assorted security risks
skip-grant-tables # 添加这句话,这时候登入mysql就不需要密码
symbolic-links=0 # 原有的内容
开启mysql服务,无密码登录
service mysqld start
mysql -uroot -p # 无需密码 enter即可
在mysql中执行以下命令:
flush privileges; #更新权限
set password for root@localhost = password('abcd@1234'); # 为root指定密码为abcd@1234,具体密码自行设置
flush privileges;
exit;
再停止服务注释掉刚才添加的skip-grant-tables
service mysqld stop # 停止mysql服务, 恢复mysql配置
vim /etc/my.cnf #修改配置文件,注释掉刚才添加的skip-grant-tables
service mysqld start
此时即可带密码登录了
5、设置mysql开机自启:
systemctl enable mysqld
通过命令systemctl list-unit-files | grep mysql
可以查看是否设置成功
6、设置mysql允许远程访问
进入mysql
set global validate_password_policy=0;
set global validate_password_length=1; 密码长度
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'abcd@1234' WITH GRANT OPTION;
flush privileges;
7、防火墙开放mysql 3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
当然也可以关闭防火墙,命令systemctl stop firewalld
8、字符集设置
如果发现存入的中文字符变成了问号,需要修改默认字符集
进入mysql,使用show variables like ‘char%’;
查看默认字符集
character_set_server是latin1 ,需要将其修改成utf8
修改/etc/my.cnf 文件,添加如下内容
可以自行改为utf8,然后重启mysql即可 service mysqld restart