-
配置 yum 源
-
下载 mysql 源安装包
shell> wget http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
-
安装MySQL源
shell> yum localinstall mysql57-community-release-el6-9.noarch.rpm
-
检查 YUM 源是否安装成功
shell> yum repolist enabled | grep "mysql.*-community.*" mysql-connectors-community MySQL Connectors Community 21 mysql-tools-community MySQL Tools Community 38 mysql57-community MySQL 5.7 Community Server 130
-
-
安装MySQL
$ sudo yum install mysql-community-server
-
此时安装时会出现以下报错:
-
解决办法:修改/etc/yum.repos.d/mysql-community.repo 源文件,增加一行,将6改为7,并注释掉原来那一行
-
此时重新执行yum安装命令:
-
$ sudo yum install mysql-community-server
-
-
启动MySQL服务
-
开机自启动服务
$ sudo systemctl enable mysqld
-
启动MySQL服务
扫描二维码关注公众号,回复: 4468717 查看本文章$ sudo systemctl start mysqld
-
查看服务状态
$ sudo systemctl status mysqld
-
-
修改root默认密码
-
查看默认密码
MySQL 5.7 启动后,在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码;查看此文件找到密码
-
使用默认的root密码登录MySQL并修改root的密码
$ mysql -u root -p Enter password: mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意:MySQL 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于 8 位。
-
通过 MySQL 环境变量可以查看密码策略的相关信息:
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_password_length | 8 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | MEDIUM | | validate_password_special_char_count | 1 | +--------------------------------------+--------+
-
指定密码校验策略:
$ sudo vi /etc/my.cnf
添加如下键值(0=LOW, 1=MEDIUM, 2=STRONG),将值改为0之后只校验密码的长度,不再校验复杂度,可设置为12345678
validate_password_policy=0
-
禁用密码策略:
添加如下键值,此时再重启MySQL服务后,可将MySQL密码设置为任何值,如:0
validate_password = off
-
重启 MySQL 服务,使配置生效
$ sudo systemctl restart mysqld
-
-
使用户可远程登录
MySQL 默认只允许 root 帐户在本地登录,如果要在其它机器上连接 MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,本例添加一个mysql密码为1的新账户:
mysql> select Host,User from mysql.user; +-----------+---------------+ | Host | User | +-----------+---------------+ | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 3 rows in set (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY '1' WITH GRANT OPTION; mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
ALL:代表接受所有操作,比如 select,insert,delete….;
.:代表所有库下面的所有表;
%:代表这个用户允许从任何地方登录;为了安全期间,这个%可以替换为你允许的ip地址;
-
配置默认编码为utf8
-
MySQL 默认为 latin1, 一般修改为 UTF-8
$ vi /etc/my.cnf
-
在[myslqd]下添加如下键值对
character_set_server=utf8 init_connect='SET NAMES utf8'
-
重启 MySQL 服务,使配置生效
$ sudo systemctl restart mysqld
-
查看编码格式是否已经生效
mysql> SHOW VARIABLES LIKE 'character%'; +--------------------------+----------------------------+ | 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/ | +--------------------------+----------------------------+
-
-
开启防火墙端口
$ sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent $ sudo firewall-cmd --reload
转自:https://qizhanming.com/blog/2017/05/10/centos-7-yum-install-mysql-57