Linux mysql8 本地安装

记录一次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 ([email protected]) (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

你可能感兴趣的:(mysql,linux)