Skip to content

Mysql ​

此处介绍redhat7.8上安装mysql5.8. 其余版本安装方式一样.

由于redhat7使用的是mariadb(Mysql的分支),
Mysql可以在线安装.
也可以离线安装(需要在联网设备上把离线包下载好).

卸载mariadb ​

shell
#查询是否安装了mariadb
#如果安装了,就卸载,如果没安装就跳过
yum remove mariadb-server

直接下载离线包 ​

官网下载地址

添加仓库 ​

去yum仓库选择对应的版本下载
可以用wget命令直接下载到设备上.

安装仓库 ​

shell
rpm -Uvh platform-and-version-specific-package-name.rpm

查看版本 ​

shell
#查看已经有得版本
yum repolist all | grep mysql
#禁用不需要的版本
yum-config-manager --disable mysql80-community
#启动特定版本
yum-config-manager --enable mysql80-community

禁用默认的 ​

在redhat8上禁用默认的Mysql模块.

shell
yum module disable mysql

安装 ​

shell
#在线安装
yum install mysql-community-server

启动 ​

shell
#启动mysql服务
systemctl start mysqld.service
#安装时,默认会产生一个零时随机密码,
grep 'temporary password' /var/log/mysqld.log
#登录mysql
mysql -u root -p
#输入上一步获取的零时密码
#更新密码,新密码需要:大小写,特殊字数,数字键组合
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
#查看密码认证策略
SHOW VARIABLES LIKE 'validate_password%';

认证属性 ​

Variable_namedesp
validate_password.check_user_name用户名检测,检测是否重名
validate_password.dictionary_file字典文件
validate_password.length密码长度的最小值
validate_password.mixed_case_count密码中大小字母的长度
validate_password.number_count密码中数字个数
validate_password.policy安全强度
validate_password.special_char_count特殊字符的最小个数
shell
#注意区分mysql8.0和5.x一下变量名字不同
#修改命令
set global validate_password_check_user_name = off;
set global validate_password_length = 4;
set global validate_password_mixed_case_count = 0;
set global validate_password_number_count = 0;
set global validate_password_policy = 0;
set global validate_password_special_char_count = 0;
#改完
flush privileges;
########################
#或者将以上配置写入配置文件
#路径: /etc/my.cnf
validate_password_check_user_name = off
validate_password_length = 4
validate_password_mixed_case_count = 0
validate_password_number_count = 0
validate_password_policy = 0
validate_password_special_char_count = 0

简单使用 ​

shell
#直接在shell上操作
#新建用户
mysql -uroot -ppwd -e "create user'name'@'%' identified by 'pwd';"
#新建数据库
mysql -uroot -ppwd -e "create database dbname;"
#赋予新用户操作数据库的所有权限
mysql -uroot -pnucleus -e "grant all on dbname.* to 'usrname'@'%';"
#刷新生效
mysql -uroot -pnucleus -e "flush privileges;"
##往数据库dbname数据库
mysql -uusr -ppwd dbname <  xxx.sql