在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL,
所以执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL ;
并且MySQL5.7相比较之前的版本,密码要求非常严格。
(1)检查系统中是否已安装 MySQL。
rpm -qa | grep mysql
返回空值的话,就说明没有安装 MySQL 。
(2)查看已安装的 Mariadb 数据库版本。
rpm -qa|grep -i mariadb
(3)卸载已安装的 Mariadb 数据库
rpm -qa|grep mariadb|xargs rpm -e --nodeps
(4)再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成。
rpm -qa|grep -i mariadb
(5)下载安装包文件。
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
(6)安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
执行 yum repolist all | grep mysql 命令查看可用的 mysql 安装文件。
(6)安装mysql,使用yum命令即可完成安装
yum install mysql-server
(7)检查mysql是否安装成功。
rpm -qa | grep mysql
(8)启动 mysql 服务 。
systemctl start mysqld.service #启动 mysql
systemctl restart mysqld.service #重启 mysql
systemctl stop mysqld.service #停止 mysql
systemctl enable mysqld.service #设置 mysql 开机启动
(9)配置MySQL
获取安装时的临时密码:
grep 'temporary password' /var/log/mysqld.log
倘若没有:
删除原来安装过的mysql残留的数据
rm -rf /var/lib/mysql
再启动mysql
systemctl start mysqld #启动MySQL
(10)登录MySQL并设置密码
mysql -u root -p
登录成功后需要先修改密码:
set password=password("Abc3.14159");
mysql5.7模式的密码设置规则是:密码必须符合长度(默认是不少于8),且必须含有数字,小写或大写字母,特殊字符。
(11)授权给远程用户访问
grant all privileges on *.* to root@"%" identified by "Abc3.14159";
(12)设置MySQL字符编码
vi /etc/my.cnf
在 [mysqld] 下面添加
character_set_server=utf8
init_connect='SET NAMES utf8'
扩展
如果是自己开发测试,不想把密码设置的那么复杂,需要修改下参数
前提是validate_password插件必须已经安装,MySQL5.7是默认安装的。
1.验证validate_password插件是否安装
mysql> SHOW VARIABLES LIKE 'validate_password%';
2.修改密码复杂度限制,默认值是1,我们把他改为0
mysql> set global validate_password_policy=0;
3.修改密码长度限制,默认8位,我们把他改成4为或者6位
mysql> select @@validate_password_length;
mysql> set global validate_password_length=6;
创建数据库
create schema db_mblog default character set utf8 collate utf8_general_ci;
导入数据
source /root/jpress/db/jpress.sql
注意:修改密码之后一定要重新授权给远程用户登录,不然还是可以用原来的密码登录,新密码登录不了。