centos6安装mysql5.7

 

RPM包安装与卸载mysql
建议:装完mysql后立刻创建一个密码,不然下次登录的时候会有问题。原因是mysql 5.7会自动创建一个临时密码,过期失效,可以到grep "password" /var/log/mysqld.log 查看 
 

1. 卸载之前的版本

rpm -qa | grep -i mysql
rpm -e --nodeps 要卸载的mysql版本
合起来写
rpm -aq | grep -i mysql | xargs rpm -e --nodeps
 

2. 下载安装包

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar
然后解压
tar xzf mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar 
 
 

3. 安装依赖包

在安装server之前最好装一个libaio-0.3.107-10.el6.x86_64.rpm,以免出错
rpm -i libaio-0.3.107-10.el6.x86_64.rpm
 
把numactl也装上吧   yum  install numactl
 
有时候还需yum install perl-DBI
 
 

4. 安装rpm包

按照步骤来安装mysql包就好
rpm -ivh mysql-community-common-5.7.10-1.el6.x86_64.rpm --nosignature
rpm -ivh mysql-community-libs-5.7.10-1.el6.x86_64.rpm --nosignature
rpm -ivh mysql-community-devel-5.7.10-1.el6.x86_64.rpm  --nosignature
rpm -ivh mysql-community-client-5.7.10-1.el6.x86_64.rpm  --nosignature
rpm -ivh mysql-community-server-5.7.10-1.el6.x86_64.rpm  --nosignature
 
 

5. 启动mysql

安装完后,如果之前的mysql有数据,启动的时候会失败,mysql5.7的解决方法是删除/var/lib/mysql目录下的所有内容再启动,成功。
 

 

6. 修改mysql配置文件使其支持中文编码

vim /etc/my.cnf中修改如下
 
[mysqld]
character-set-server=utf8
 ....
[client]
default-character-set=utf8  #这一项如果配置文件中没有[client]就不写
 
重启数据库后验证编码
登陆mysql后,输入show variables like "%character%"; 查看列出的选项是否为utf8, 如果有不是的,可以使用命令set character_set_[client] = utf8
 
 
 

7. 密码策略问题

1)查看现有的密码策略

mysql> SHOW VARIABLES LIKE 'validate_password%';
 
参数解释:
1).validate_password_dictionary_file 指定密码验证的文件路径;
2).validate_password_length  密码最小长度
3).validate_password_mixed_case_count  密码至少要包含的小写字母个数和大写字母个数;
4).validate_password_number_count  密码至少要包含的数字个数
5).validate_password_policy 密码强度检查等级,对应等级为:0/LOW、1/MEDIUM、2/STRONG,默认为1
 
注意:
0/LOW:只检查长度;
1/MEDIUM:检查长度、数字、大小写、特殊字符;
2/STRONG:检查长度、数字、大小写、特殊字符字典文件。
6).validate_password_special_char_count密码至少要包含的特殊字符数
 

2)创建用户时报错:

mysql> create user 'miner'@'192.168.%' IDENTIFIED BY 'miner123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
 
报错原因:密码强度不够。
解决方法:(该账号为测试账号,所以采用降低密码策略强度)
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=4;
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/regit/p/8268321.html