Centos7 下配置mysql

Centos7 下配置mysql

  • Centos7 下配置mysql
      • 使用yum安装
        • 一、下载mysql5.7的yum repo包
        • 二、安装MySQL
        • 三、初始化配置MySQL
        • 四、修改数据库密码
            • 关于mysql密码策略相关参数
        • 五、开启远程控制
            • MySQL默认是没有开启远程控制的,必须添加远程访问的用户
        • 六、配置编码
            • 去找到/etc/my.cnf 配置文件修改编码格式为utf8
            • 修改mysqld配置文件

Centos7 下配置mysql

使用yum安装

一、下载mysql5.7的yum repo包

由于centos下的yum源中没有mysql,所以需要去官网下载对应版本的repo配置文件

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm1

然后使用rpm安装repo配置文件(相当于直接把对应的yum源自动配置好)

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

二、安装MySQL

使用yum命令即可完成安装

yum -y install mysql-server

安装完毕之后启动mysql并设置开机自启动

systemctl start mysqld		### 启动mysql
systemctl enabled mysqld	###	设置开机自启动

三、初始化配置MySQL

获取安装时的临时密码

grep 'temporary password' /var/log/mysqld.log		####就是输出结果尾部引号后字符串

如果没有的话,可能是原来安装过mysql,

1、 去把之前安装mysql的目录删干净

	rm -rf /var/lib/mysql   

2、 然后再次重新启动MySQL

	systemctl restart mysqld   

使用获取到的临时密码登录到数据库中

mysql -uroot -p

四、修改数据库密码

登陆成功后开始修改密码

#### 第一种
set password=password(‘you password’)
#### 第二种(推荐)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

####第三种
mysqladmin -uroot -p password "123"     设置密码为123,由于初始没有密码,so -p后为空。
mysqladmin -uroot -p123 password "456"   设置密码为456,-p后跟原来的密码。

修改密码注意事项: 因为mysql本身对密码设置的有策略,所以当设置密码不满足默认设置的策略是修改不了的,所以我们要去修改一下

 
1、 查看 mysql 初始的密码策略,输入语句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 进行查看
Centos7 下配置mysql_第1张图片
 
2.、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值
Centos7 下配置mysql_第2张图片
 
3. 当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设validate_password_length 的全局参数为 6 即可,输入设值语句 “ set global validate_password_length=6; ” 进行设值,
Centos7 下配置mysql_第3张图片

4.、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,输入修改语句 “ ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; ” 可以看到修改成功,表示密码策略修改成功了!!!
img

关于mysql密码策略相关参数
关于 mysql 密码策略相关参数;
1)、validate_password_length  固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

五、开启远程控制

MySQL默认是没有开启远程控制的,必须添加远程访问的用户
grant all privileges on 数据库名.表名 to 创建的用户名(root)@"%" identified by "密码"; 
# 数据库名.表名 如果写成*.*代表授权所有的数据库 

flush privileges; #刷新刚才的内容

#如:
grant all privileges on *.* to root@"113.64.243.1" identified by "123456789";

@ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。同时也可以为现有的用户设置是否具有远程访问权限。

六、配置编码

MySQL默认的数据库编码格式是拉丁编码格式,这样存储中文时会出现‘?’等问题,

[外链图片转存失败(img-BSrDQ1G8-1564661400831)(C:\Users\chenluzhong\AppData\Roaming\Typora\typora-user-images\1559203996908.png)]

去找到/etc/my.cnf 配置文件修改编码格式为utf8
vi /etc/my.cnf
#添加
character_set_server=utf8
init_connect='SET NAMES utf8'
修改mysqld配置文件
# 修改mysqld的配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf 
#添加
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci


# 修改mysql客户端的配置文件
sudo vim /etc/mysql/conf.d/mysql.cnf 
#加上如下代码(见图4.1.2)
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8

# 2、重启MySQL服务
systemctl restart mysql

# 3、查看一下,如图4.1.3
show variables like "%character%";

你可能感兴趣的:(linux)