一、YUM资源查找
yum下载网址为:https://dev.mysql.com/downloads/repo/yum/ 选择对应的操作系统版本,单击后面的Download, 在新的页面中单击最下面的No thanks, just start my download.就可以下载到yum源了。
示例:
1) YUM资源库
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
2)安装MySQL 5.7
yum install -y mysql-community-server
3)启动MySQL服务器
systemctl start mysqld.service
设置自启动:
systemctl enable mysqld.service
4)mysql5.7不同于较低版本,MySQL5.7不允许首次安装后使用空密码进行登录!为了加强安全性,系统会随机生成一个密码以供管理员首次登录使用, 这个密码记录在/var/log/mysqld.log文件中,查看密码命令:
cat /var/log/mysqld.log|grep 'A temporary password'
最后一行冒号后面的部分就是初始化默认密码,注意:随机生成的密码第一次登录后必须要修改,否则无法使用SQL操作。
5)修改mysql密码方式:
mysql> set password=password("newpassword");
或:
mysql> alter user 'root'@'localhost' identified by 'newpassword';
权限刷新:
mysql> flush privileges;
如果设置的密码比较简单,会报如下错误:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个错误与mysql的安全策略参数validate_password_policy的值有关。
查看一下msyql密码相关的几个全局参数:
mysql> select @@validate_password_policy;
mysql> SHOW VARIABLES LIKE 'validate_password%';
参数解释:
2)参数解释
validate_password_dictionary_file
插件用于验证密码强度的字典文件路径。
validate_password_length
密码最小长度,参数默认为8,它有最小值的限制,最小值为:validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
validate_password_mixed_case_count
密码至少要包含的小写字母个数和大写字母个数。
validate_password_number_count
密码至少要包含的数字个数。
validate_password_policy
密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。有以下取值:
Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
validate_password_special_char_count
密码至少要包含的特殊字符数。
修改mysql参数配置:
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.05 sec)
mysql> set global validate_password_mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_number_count=3;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_special_char_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=3;
Query OK, 0 rows affected (0.00 sec)
参数修改完毕后,再次修改为简单的密码则成功。
6)修改mysql编码格式:
默认编码:
mysql> show variables like "%character%";show variables like "%collation%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.01 sec)
调整操作:
cat /etc/my.cnf
......
[mysqld]
......
character-set-server=utf8 //注意这个不能写成default-character-set=utf8,否则会导致5.7版本mysql无法打开
[client]
default-character-set=utf8
重启mysql
systemctl restart mysqld.service
mysql -p
......
mysql> show variables like "%character%";show variables like "%collation%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)