centos7 mysql 5.3_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.rpm2.安装mysql源[root@iZpo5ptr2u7bkrZ local]# yum
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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)