MySQL安装并配置
CentOS 7 安装并配置 MySQL
1.添加MySQL Yum存储库
将MySQL Yum存储库添加到系统的存储库列表中。这是一次性操作,可以通过安装MySQL提供的RPM
1.a 到MySQL官网下载MySQL Yum存储库(https://dev.mysql.com/downloads/repo/yum/)

1.b选择并下载适用于您的平台的发行包
1.c进入到 rpm 包所在的目录,使用以下命令安装下载的发行包
CentOS 6:
sudo yum localinstall mysql80-community-release-el6-{version-number}.noarch.rpm
CentOS 7:
sudo yum localinstall mysql80-community-release-el7-{version-number}.noarch.rpm
检查是否已成功添加MySQL Yum存储库
yum repolist enabled | grep "mysql.*-community.*"
2.选择发布版本
2.a查看MySQL Yum存储库中的所有子存储库,并查看启用或禁用了哪些子存储库
yum repolist all | grep mysql
2.b如果从旧的GA系列安装旧版MySQL,请先禁用新的GA系列并启用旧的GA系列子存储库
通过以下命令禁用8.0、5.7系列启用5.6系列:
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --disable mysql57-community
sudo yum-config-manager --enable mysql56-community
3.安装MySQL(下载慢可以参考下方下载过慢方法)
sudo yum install mysql-community-server
4.启动Mysql
CentOS6:
service mysqld start
CentOS7:
systemctl start mysqld.service
5.根据mysql版本
mysql5.7查看初始密码
cat /var/log/mysqld.log |grep password
执行 mysql -uroot -p登录后输入上面的到的密码进入,用该密码登录后,必须马上修改新的密码,不然会报如下错误:
mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
如果你想要设置一个简单的测试密码的话,比如设置为123456,会提示这个错误,报错的意思就是你的密码不符合要求
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决方法:
修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
validate_password_length(密码长度)参数默认为8,我们修改为1
mysql> set global validate_password_length=1;
完成后修改root密码:
alter user 'root'@'localhost' identified by 'newpasswd';
允许远程连接:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpasswd' WITH GRANT OPTION;
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;
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)alidate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
mysql5.6设置root密码
mysql>use mysql;
mysql>update user set password=password('password') where user='root';
mysql>flush privileges;
允许远程登录:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
7.卸载Yum repository,防止MySQL自动更新
yum -y remove mysql57-community-release-el7-10.noarch
下载官方源过慢可以使用以下两个方法解决:
1.打开MySQL官网找到对应版本下载:


浏览器下载慢可以使用迅雷下载,下载完上传到服务器上

通过 rpm -ivh mysql-community-*.rpm 进行安装,表示common 、libs、client、server
由于centos 7默认是mariadb数据库,再去安装mysql之前要先卸载mariadb
rpm -qa | grep mariadb
rpm -e mariadb-libs

由于存在依赖关系,强制卸载
rpm -e --nodeps mariadb-libs
或者安装的时候强制安装
安装顺序 common-->libs-->client-->server
rpm -ivh mysql-community-****.rpm --force --nodeps
--force 强制安装
--nodeps 安装时不检查依赖关系
安装server时报错:

原因是缺少libaio依赖库
yum install -y libaio
安装完成开启MySQL服务时报错:

出现问题原因:
- mysql在进行初始化时,会检测目录是否存在
- 如果不存在,mysql会创建它
- 如果存在,而且这个目录里有数据,mysql会报错,并且终止初始化
- 如果以上都没有问题,有可能是因为文件夹权限的问题
解决方法:
查看/etc/my.cnf里面的内容

通过上面我们可以看到:datadir的路径和socket的路径.先去提权,防止是因为文件夹权限的问题
chmod -R 777 /var/lib/mysql
删除/var/lib/mysql文件夹里面的内容
rm -rf /var/lib/mysql/*
重启服务
service mysqld restart
service mysqld restart
#/var/log/mysqld.log 中找不到临时密码
#1.删除原来安装过的mysql残留的数据:
rm -rf /var/lib/mysql
#2.重启mysqld服务
systemctl restart mysqld
#file /usr/share/mysql/charsets/swe7.xml from install of MySQL-server-5.6.37-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.44-2.el7.centos.x86_64
yum remove mariadb

浙公网安备 33010602011771号