一、环境介绍
操作系统:CentOS 7
MySQL:8.0
二、MySQL的卸载
1、查看MySQL软件
rpm -qa|grep mysql
2、卸载MySQL
yum remove -y mysql mysql-libs mysql-common
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否还有 MySQL 软件,有的话继续删除。
软件卸载完毕后如果需要可以删除 MySQL 的数据库: /var/lib/mysql
三、安装MySQL
1、安装
#下载yum源
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
#安装yum源
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
#使用此命令可以查看 MySQL Yum 存储库中的所有子存储库,并查看其中哪些子存储库已启用或禁用
yum repolist all | grep mysql
#开启mysql8的下载源
yum-config-manager --enable mysql80-community
#安装mysql8
yum install -y mysql-community-server
2、配置MySQL
vim /etc/my.cnf
3、启动MySQL
systemctl start mysqld
4、设置root用户密码
安装了mysql8之后初始密码不再默认为空,初始密码会生成一个默认密码。密码会输出到mysql日志中。日志文件的位置在 /var/log/mysqld.log
1:查看初始密码
2:修改初始密码
#登录mysql
[root@localhost ~]# mysql -uroot -p'xxxxxxx'
#mysql8以后对密码的强度是有要求的,必须是字母+数字+符号组成而且长度要求8位以上。
mysql> alter user 'root'@'localhost' identified by 'Abc_123456';
#密码校验规则控制参数
mysql> show variables like 'validate_password%';
#设置简单密码的方式
#1.设置密码长度最低位数
mysql> set global validate_password.length=4;
#2.设置密码强度级别
mysql> set global validate_password.policy=0;
#3.关闭用户名校验
mysql> set global validate_password.check_user_name=off;
#4.关闭大小写校验
mysql> set global validate_password.mixed_case_count =0;
#5.关闭数字校验
mysql> set global validate_password.number_count=0;
#6.关闭特殊字符校验
mysql> set global validate_password.special_char_count=0;
#7.修改密码
mysql> alter user 'root'@'localhost' identified by 'root';
validate_password_policy有以下取值:
Policy |
Tests Performe |
0 or LOW |
Length |
1 or MEDIUM |
numeric, lowercase/uppercase, and special characters |
2 or STRONG |
Length; numeric, lowercase/uppercase, and special characters |
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
四、MySQL远程连接授权
1、登录MySQL
登录命令
mysql -uroot -proot
命令说明
-u:指定数据库用户名
-p:指定数据库密码,记住-u和登录密码之间没有空格
2、创建远程登录用户
mysql> create user 'root'@'%' identified by 'root';
3、授权
授权命令
grant 权限 on 数据库对象 to 用户
示例
授予root用户对所有数据库对象的全部操作权限:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
命令说明
ALL PRIVILEGES :表示授予所有的权限,此处可以指定具体的授权权限。
*.* :表示所有库中的所有表
'root'@'%' : myuser是数据库的用户名,%表示是任意ip地址,可以指定具体ip地址。
刷新权限
mysql> FLUSH PRIVILEGES;
六、关闭SELinux
1、查看SELinux状态命令:
1:/usr/sbin/sestatus -v
##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2:getenforce
##也可以用这个命令检查
2、关闭SELinux方法
1:临时关闭(不用重启机器)
setenforce 0 #设置SELinux 成为permissive模式
#setenforce 1 设置SELinux 成为enforcing模式
2:修改配置文件需要重启机器
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可