centos7.3 MySql5.7安装教程

1.下载源安装包

[root@iZpo5ptr2u7bkrZ local]# cd /usr/local/
[root@iZpo5ptr2u7bkrZ local]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2.安装mysql源

[root@iZpo5ptr2u7bkrZ local]# yum -y localinstall mysql57-community-release-el7-11.noarch.rpm 

3.在线安装Mysql

[root@iZpo5ptr2u7bkrZ local]# yum -y install mysql-community-server

4.启动Mysql服务

[root@iZpo5ptr2u7bkrZ local]# systemctl start mysqld

5.设置开机启动

[root@iZpo5ptr2u7bkrZ local]# systemctl enable mysqld
[root@iZpo5ptr2u7bkrZ local]# systemctl daemon-reload

6.修改root本地登录密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。

[root@iZpo5ptr2u7bkrZ local]# grep 'temporary password' /var/log/mysqld.log
2018-07-18T11:37:37.297011Z 1 [Note] A temporary password is generated for root@localhost: o7a-G>a88*CJ
2018-07-18T11:40:08.512589Z 1 [Note] A temporary password is generated for root@localhost: jlUliTx

查看最后一个为准,这里的密码是jlUliTx

7.登陆并修改密码

使用默认的密码登陆

[root@iZpo5ptr2u7bkrZ local]# mysql -uroot -pjlUliTx

用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:

mysql> select user();
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>

修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

如果密码设置太简单出现以下的提示

mysql> ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个其实与validate_password_policy的值有关。
validate_password_policy有以下取值:

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,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
必须修改两个全局参数:
首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          8 |
+----------------------------+
1 row in set (0.00 sec)

如果想长度限制在8位一下,修改validate_password_length参数的值

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          4 |
+----------------------------+
1 row in set (0.00 sec)

8.设置允许远程登录,若不需要,请忽略

Mysql默认不允许远程登录,我们需要设置下,并且防火墙开放3306端口;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> exit;
Bye

退出下,开放3306端口

[root@iZpo5ptr2u7bkrZ local]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@iZpo5ptr2u7bkrZ local]# firewall-cmd --reload
success

9.配置默认编码为utf8mb4支持emoji表情

修改/etc/my.cnf配置文件支持emoji表情,如下所示:

[client]
# 客户端来源数据的默认字符集
default-character-set = utf8mb4
[mysqld]
# 服务端默认字符集
character-set-server=utf8mb4
# 连接层默认字符集
collation-server=utf8mb4_unicode_ci
[mysql]
# 数据库默认字符集
default-character-set = utf8mb4

10.Mysql参数优化

[mysqld]
#修改最大连接数
max_connections = 500
#查询排序时缓冲区大小,只对order by和group by起作用,可增大此值为16M
sort_buffer_size = 16M
#查询缓存限制,只有1M以下查询结果才会被缓存,以免结果数据较大把缓存池覆盖
query_cache_limit = 1M
#查看缓冲区大小,用于缓存SELECT查询结果,下一次有同样SELECT查询将直接从缓存池返回结果,可适当成倍增加此值
query_cache_size = 16M
#给所有的查询做cache,代表使用缓冲
query_cache_type = 1
#设置以顺序扫描的方式扫描表数据的时候使用缓冲区的大小
read_buffer_size = 8M
#打开文件数限制
open_files_limit = 10240
#修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间
innodb_file_per_table = 1
#索引和数据缓冲区大小,一般设置物理内存的60%-70%
innodb_buffer_pool_size = 1G
#缓冲池实例个数,推荐设置4个或8个
innodb_buffer_pool_instances = 8
#2代表只把日志写入到系统缓存区,再每秒同步到磁盘,效率很高
innodb_flush_log_at_trx_commit = 2
#日志缓冲区大小,由于日志最长每秒钟刷新一次,所以一般不用超过16M
innodb_log_buffer_size = 8M
#back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中
back_log = 1024
#thread cache 池中存放的最大连接数
thread_cache_size = 64
#开启慢查询日志
slow_query_log = ON
#关闭密码复杂策略
validate_password=off
[mysql]
# 数据库默认字符集
default-character-set = utf8mb4

你可能感兴趣的:(centos7.3 MySql5.7安装教程)