在CentOS中默认安装有MariaDB,这个是MySQL的分支,为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 这里记录下自己的安装过程。
获取MySQL 官方YUM源


- 对应版本进去复制下载地址
我这里的下载地址为:https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
安装Mysql
- 下载安装包源(这里我用wget命令,直接获取安装源)
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

- 安装mysql的依赖包
格式:yum -y install +对应安装源名
yum -y install mysql80-community-release-el7-3.noarch.rpm

- 在线安装mysql数据库(yum源中默认安装Mysql8.0,需要其他版本可自行更改)
yum -y install mysql-community-server

- 启动Mysql
启动命令:systemctl start mysqld
查看运行状态:systemctl status mysqld.service

配置Mysql
- 查看密码
- Mysql安装完成后会在/var/log/mysqld.log文件中生成一个初始密码,这里通过查看日志的方式获取密码
grep "password" /var/log/mysqld.log
查看密码.png
- 如果是第一次安装只会生成一条记录,如果是多次安装直接看最近的一条记录
- Mysql安装完成后会在/var/log/mysqld.log文件中生成一个初始密码,这里通过查看日志的方式获取密码
- 修改密码
- 使用拿到的临时密码登录mysql
mysql -uroot -p

- 由于Mysql 8.0 密码策略相比老版有所更改,修改密码格式有一定要求
可能出现密码不符合策略或过于简单等提示,建议先使用如下密码,稍后更改策略再换
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Hao123@qq.com';
- 修改密码策略
SHOW VARIABLES LIKE 'validate_password%';
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;

validate_password_dictionary_file:字典文件。
validate_password.length:密码长度的最小值(这个值最小为4)。
validate_password.mixed_case_count:大小写的最小个数。
validate_password.number_count:密码中数字的最小个数。
validate_password.policy:用于控制validate_password的验证策略 0=LOW 1=MEDIUM 2=STRONG。
validate_password_special_char_count:特殊字符的最小个数。
- 密码策略修改后即可更改用户密码为简单密码
测试外部访问连通性
- 不推荐直接使用root用户通过外部访问数据库,建议创建用户给予对应所需权限即可
1.添加一个新用户//只允许指定ip连接 create user '新用户名'@'localhost' identified by '密码'; //允许所有ip连接(用通配符%表示) create user '新用户名'@'%' identified by '密码'; 例:CREATE USER 'admin'@'%' IDENTIFIED BY 'admin';
- 授权用户
格式:GRANT privileges ON databasename.tablename TO ‘username’@‘host’ 例:给admin用户授权study数据库中所有表的所有操作权限 GRANT ALL ON study.* TO 'admin'@'%';
privileges:表示要授予什么权力,例如可以有 select ,insert 等,如果要授予全部权力,则填 ALL
databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有
的数据库所有的表,则填 .,*是一个通配符,表示全部。
’username‘@‘host’:表示授权给哪个用户。
-
我这里使用Navicat进行访问测试
测试连接.png
网友评论