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
posted @ 2019-12-13 19:24  肆意的风  阅读(136)  评论(0)    收藏  举报