在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
1. 下载mysql5.7安装包
前往官方网站复制yum源链接Mysql官网
执行 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
进行下载
2.进行yum源安装
执行 rpm -ivh mysql80-community-release-el7-1.noarch.rpm
命令
接下来可以通过 yum repolist all | grep mysql
查看yum源中的mysql安装包
3.进行mysql安装
可以看到yum源中默认启用的安装包版本为MySQL8.0,如果需要切换为5.7,需要运行以下命令;
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
注意:yum-config-manager
默认使用的是python2版本环境,如果用户使用这个命令时报错,可能是因为当前默认python版本为python3版本。需要在/bin/yum-config-manager
文件中修改文件头#!/usr/bin/python -tt
为 #!/usr/bin/python2 -tt
或者第一步 执行 wget
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
之后就开始安装MySQL服务器 yum -y install mysql-community-server
4. 启动mysql服务
systemctl start mysqld.service
来启动mysql服务,
systemctl status mysqld.service
可查看mysql服务运行状态
systemctl enable mysqld 设置mysql服务开机自启运行
systemctl is-enabled mysqld.service 查看设置自启是否成功
systemctl list-unit-files|grep enabled 查看所有自启动列表
5.设置mysql
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码
通过如下命令可以在日志文件中找出密码:grep "password" /var/log/mysqld.log
输入命令进入数据库:mysql -uroot -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
这里有个问题,新密码设置的时候如果设置的过于简单会报错:Your password does not satisfy the current policy requirements.
可以通过如下命令修改:
set global validate_password_policy=0; set global validate_password_length=1;
但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
yum -y remove mysql80-community-release-el7-1.noarch
6.添加用户及赋予权限
登录数据库以后执行
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
FLUSH PRIVILEGES;
这里的USERNAME是你的数据库账户,PASSWORD是你的数据库密码
查看数据库用户
mysql> use mysql;
mysql> select host,user from mysql.user;
7.远程访问
尝试登录刚才创建的用户,远程登录。如果报错 Can’t connect to MySQL server (10061),表示没有远程权限。
修改/etc/init.d/my.cnf或者/etc/mysql/mysql.conf.d/mysqld.cnf
文件,将文件中的“bind-address = 127.0.0.1”改为“bind-address = 0.0.0.0”