1、下载
官网5.7版本:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
2、解压安装
tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
安装新版mysql前,需将系统自带的mariadb-lib卸载
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
为了避免出现权限问题,给mysql解压文件所在目录赋予最大权限
chmod -R 777 mysql
严格按照顺序安装:
mysql-community-common-5.7.29-1.el7.x86_64.rpm、
mysql-community-libs-5.7.29-1.el7.x86_64.rpm、
mysql-community-client-5.7.29-1.el7.x86_64.rpm、
mysql-community-server-5.7.29-1.el7.x86_64.rpm这四个包
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm
如果安装过程中出现这个错误就在后面添加 --force --nodeps
,这可能是由于yum安装了旧版本的GPG keys造成的
3、启动mysql服务
设置开机启动
设置开机启动失败时,且日志文件没有报错信息时
检查是否缺少 /usr/lib64/libaio.so.1 文件
缺少则下载:yum install -y libaio
systemctl start mysqld.service
启动mysql
mysql
4、配置数据库
vim /etc/my.cnf
添加这三行
skip-grant-tables#跳过登录验证
validate_password_policy=0 #修改密码策略密码的强度验证等级
validate_password_length=5 #修改密码策略密码的长度
character_set_server=utf8#设置默认字符集UTF-8
init_connect='SET NAMES utf8'#设置默认字符集UTF-8
systemctl stop mysqld.service
systemctl start mysqld.service
5、设置密码修改密码策略和开启远程登录
进入mysql,设置密码,并立即生效
update mysql.user set authentication_string=password('123456') where user='root';
FLUSH PRIVILEGES;
如果想要设置简单一点的密码就要设置密码策略,否则设置简单的密码会出错
查看密码策略
SHOW VARIABLES LIKE 'validate_password%';
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;
退出mysql并停止mysql服务
systemctl stop mysqld.service
编辑my.cnf配置文件将:
skip-grant-tables这一行注释掉,
重启mysql服务
systemctl start mysqld.service
再次登录mysql
mysql -u root -p
授权其他机器登陆并立即生效
by后面的就是远程登录密码,远程登录密码可以和用户密码不一样
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
开放3306端口,并重启防火墙
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload