CentOS7.x使用yum安装MySQL数据库
2019-03-12 本文已影响5人
静美书斋
- CentOS7.x将默认数据库MySQL替换成了Mariadb,下面使用yum进行安装MySQL
- 系统为:CentOS7.6.1810
- 最终安装MySQL版本:5.7.25
一、卸载Mariadb
rpm -qa | grep mariadb | xargs rpm -e --nodeps
二、使用MySQL的官方repo源,安装MySQL
cd /usr/local/src
# 下载MySQL的官方repo源
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# 安装Yum Repository
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
# 安装MySQL服务器
#yum -y install mysql-community-server
yum -y install mysql-server mysql-devel #使用该条命令!
上面源无法下载时,也可以使用
https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
repo源。
三、设置MySQL数据库密码
启动MySQL
systemctl start mysqld
查看MySQL状态
systemctl status mysqld
此时MySQL已经正常运行,需要找出root的密码
grep 'temporary password' /var/log/mysqld.log
如下图,其中初始密码为:hC0AP<6gwX%f
,每个人安装好MySQL并且启动后的密码均不唯一,以你查看到的为准!(另外,必须以mysql -u root -p回车后输入此密码才行,如果嫌密码不好输入,直接复制粘贴过去也行。)

为防止新密码设置过于简单报错,可登陆MySQL之后第一时间进行以下操作
- mysql> set global validate_password_policy=0;
- mysql> set global validate_password_length=1;
# 登陆MySQL
mysql -u root -p(回车后输入上面查到的密码)
# 输入初始密码后,此时不能做任何事情,因为MySQL默认必须修改密码才能正常使用
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
修改完成后,退出重新登陆MySQL时,即可使用新密码!
四、设置字符集为utf8
1、使用新的密码登陆MySQL查看字符集
mysql> show variables like 'char%';

2、修改字符集
vim /etc/my.cnf
在该文件最后一行添加character-set-server=utf8
,如下

3、重启数据库
systemctl restart mysqld
字符集修改完成后,重启MySQL,登陆MySQL查看下字符集,如下

五、移除MySQL的repo源
为了防止每次进行yum操作时其自动更新,移除MySQL的repo。
yum -y remove mysql57-community-release-el7-10.noarch
六、允许远程连接MySQL
1、更新root账号信息,允许任何主机以root账号登陆(推荐)
mysql> use mysql;
mysql> select host,user from user;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
2、任何主机以dev
账号登陆
mysql> GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%' IDENTIFIED BY 'new password' WITH GRANT OPTION;
3、指定主机以root
账号登陆
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@’192.168.1.120’ IDENTIFIED BY 'new password' WITH GRANT OPTION;
4、进行以上任何操作,均需刷新权限
mysql> flush privileges
七、MySQL自启
# 查看MySQL是否自启
systemctl is-enabled mysqld
如下如,为
enabled
时,MySQL为自启(安装MySQL之后,默认为自启,因此此步骤中不需要重复开启)

八、防火墙放行3306端口
如果你的防火墙已经关闭,可忽略此操作。
# 永久开放3306端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
# 重启防火墙
systemctl restart firewalld
# 检测设定是否生效
iptables -L -n | grep 3306