在CentOS7 Linux中安装MySQL5.7
- MySQL安装篇
- 一、环境介绍
- 二、MySQL的卸载
- 1、查看MySQL软件
- 2、卸载MySQL
- 三、安装MySQL
- 1、安装
- 2、配置MySQL
- 3、启动MySQL
- 4、设置root用户密码
- 四、MySQL远程连接授权
- 1、登录MySQL
- 2、授权
- 五、关闭linux的防火墙
- 六、关闭SELinux
- 1、查看SELinux状态命令:
- 2、关闭SELinux方法
MySQL安装篇
一、环境介绍
操作系统:CentOS 7
MySQL:5.7
二、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 --disable mysql80-community
#开启mysql5.7下载源
yum-config-manager --enable mysql57-community
#安装mysql5.7
yum install -y mysql-community-server
2、配置MySQL
vim /etc/my.cnf
修改内容如下:
[mysqld]
# MySQL设置大小写不敏感:默认:区分表名的大小写,不区分列名的大小写
# 0:大小写敏感 1:大小写不敏感
lower_case_table_names=1
# 默认字符集
character-set-server=utf8
3、启动MySQL
systemctl start mysqld
4、设置root用户密码
安装了mysql5.7之后初始密码不再默认为空,初始密码会生成一个默认密码。密码会输出到mysql日志中。日志文件的位置在/var/log/mysqld.log
1)查看初始密码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6jYn0RHv-1594695877518)(…\assets\mysql-default-pass.png)]
2)修改初始密码
#1.登录mysql
[root@localhost ~]# mysql -uroot -p't)WMH;uUe9Jn'
#mysql5.7以后对密码的强度是有要求的,必须是字母+数字+符号组成的,如果想设置简单密码例如‘root’,需要做以下设置
#2.设置密码长度最低位数
mysql> set global validate_password_length=4;
#3.设置密码强度级别
mysql> set global validate_password_policy=0;
#4.修改密码
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、授权
- 授权命令
grant 权限 on 数据库对象 to 用户
- 示例
授予root用户对所有数据库对象的全部操作权限:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
- 命令说明:
-
ALL PRIVILEGES
:表示授予所有的权限,此处可以指定具体的授权权限。 -
*.*
:表示所有库中的所有表 -
'root'@'%'
: myuser是数据库的用户名,%表示是任意ip地址,可以指定具体ip地址。 -
IDENTIFIED BY 'mypassword'
:mypassword是数据库的密码。
五、关闭linux的防火墙
systemctl stop firewalld(默认)
systemctl disable firewalld.service(设置开启不启动)
六、关闭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
重启机器即可