记录一次 mysql8 的装置过程,不便当前查找,下文中 xxx 可依据理论状况调整。
1. 零碎和软件。
依据操作系统版本,到官网下载对应的 mysql 安装文件,我下载的是 mysql-8.0.21-linux-glibc2.12-x86_64.tar。解压文件放到 /user/local 下。
[root@bogon ~]# cat /proc/version
Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
[root@bogon ~]# tar zxvf mysql-8.0.21-linux-glibc2.12-x86_64.tar
[root@bogon ~]# mv mysql-8.0.21-linux-glibc2.12-x86_64 /usr/local/mysql
2. 增加零碎用户,并受权。
[root@bogon ~]# groupadd mysql
[root@bogon ~]# useradd -g mysql mysql
[root@bogon ~]# chown -R mysql:mysql /usr/local/mysql
3. 数据库初始化。
初始化数据库后,须要记录初始化明码,以便登录 mysql。
数据存储目录:/var/lib/mysql
日志文件目录:/var/log/mysql
配置文件目录:/etc/my.cnf
[root@bogon ~]# cd /usr/local/mysql
[root@bogon mysql]# ./bin/mysqld --initialize --lower-case-table-names=1 --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql
[root@bogon ~]# cd /usr/local/mysql
留神:–lower-case-table-names=1 示意表名疏忽大小写。如果须要配置,必须启动的时候配置;否则当前不能批改,要删除 mysql 从新初始化才行。
4. 增加到零碎服务。
# 将服务文件拷贝到 init.d 下
[root@bogon mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 赋予可执行权限
[root@bogon mysql]# chmod +x /etc/init.d/mysqld
# 增加服务
[root@bogon mysql]# chkconfig --add mysqld
# 显示服务列表
[root@bogon mysql]# chkconfig --list
# 启动 mysql 服务
[root@bogon mysql]# systemctl start mysql
5. 批改初始密码,开启账号近程拜访。
[root@bogon mysql]# ./bin/mysql -uroot -p
Enter password:
mysql> alter user 'root'@'localhost' identified by 'xxx';
mysql> create user 'root'@'%' identified by 'root';
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
mysql> alter user 'root'@'%' identified with mysql_native_password by 'xxx';
mysql> flush privileges;
mysql> exit;
6. 数据库配置。
[root@bogon ~]# cat /etc/my.cnf
[mysql]
default-character-set = utf8mb4
[mysqld]
port=3306
socket=/tmp/mysql.sock
# 装置目录
basedir=/usr/local/mysql
# 数据目录
datadir=/var/lib/mysql
# 容许的最大连接数
max_connections=100
# 服务器端的字符集
character-set-server=utf8mb4
# 创立表时默认的存储引擎
default-storage-engine=INNODB
# 疏忽大小写
lower_case_table_names=1
# 自定更新工夫 实时刷新表状态,如自增 id
information_schema_stats_expiry=0
max_allowed_packet=16M
default-authentication-plugin=mysql_native_password
##bin log 设置
server-id=1
log-bin=mysql-bin
#文件大小
max-binlog-size=200M
#日志格局
binlog_format=MIXED
# 文件大小
max_binlog_size = 1G
#过期工夫, 单位天
expire_logs_days = 7
##log
slow-query-log-file=/var/log/mysql/slow.log
slow_query_log = on
long_query_time = 1
[root@bogon ~]# systemctl restart mysql
7. 开发外网端口(生产环境不倡议开启)
# 凋谢 3306 端口
[root@bogon mysql]# firewall-cmd --permanent --add-port=3306/tcp
#重启防火墙 (批改配置后要重启防火墙)
[root@bogon mysql]# firewall-cmd --reload