centos 安装mysql
1、关闭防火墙
[root@localhost~]#systemctl stop firewalld.service
2、开机禁用防火墙
[root@localhost~]#systemctl disable firewalld.service
查看防火墙的状态
[root@localhost~]#systemctl status firewalld
3、安装环境检查
[root@localhost~]# rpm -qa|greplibaio
没有libaio依赖包,安装依赖包
4、安装依赖包
[root@localhost~]# yum install libaio
5、查询numactl
[root@localhost~]# rpm -qa|grep numactl
6、使用ftp 把所有的使用到的二进制文件上传到/data/tool里面
进入到/data/tool里面
[root@localhost~]# cd /data/tool
7、解压mysql二进制文件
[root@localhosttool]# tar zvxf mysql-8.0.15-el7-x86_64.tar
8、将解压文件用mv剪切至指定data目录中
[root@localhosttool]# mv mysql-8.0.15-el7-x86_64 /data/mysql
9、创建mysql用户及用组
使用命令回到/data下
[root@localhosttool]# cd ..
[root@localhostdata]# ls
查看组信息
[root@localhostdata]# cat /etc/group | grep mysql
查看密码
[root@localhostdata]# cat /etc/passwd | grep mysql
创建mysql用户组、创建mysql用户并设置mysql密码
[root@localhostdata]#groupadd mysql
[root@localhostdata]#useradd -g mysqlmysql
[root@localhostdata]# passwd mysql
10、mysql安装目录赋予权限
[root@localhostdata]#chown -R mysql:mysql /data/mysql/
[root@localhostdata]#ll |grep mysql
11、编辑mysql配置文件
[root@localhostdata]# vi /etc/my.cnf
清空my.cnf里的内容,把下面的内容粘贴进去
[client]
port = 3306
default-character-set = utf8mb4
socket = /data/mysql/mysql-data/mysql.sock
[mysql]
no-auto-rehash
[mysqld]
port=3306
user=root
socket =/data/mysql/mysql-data/mysql.sock
pid-file=/data/mysql/mysql-data/mysqld.pid
character_set_server=utf8mb4
datadir=/data/mysql/mysql-data/data
max_connections = 1000
lower_case_table_names = 1
log_bin_trust_function_creators=1
default-time-zone='+8:00'
explicit_defaults_for_timestamp=true
transaction-isolation=READ-COMMITTED
innodb_io_capacity=900
innodb_buffer_pool_size=2G
innodb_log_file_size=512M
binlog_cache_size=2M
max_binlog_size = 500M
#expire_logs_days = 15
long_query_time = 1
slow_query_log = on
slow_query_log_file =/data/mysql/mysql-data/logs/mysql-slow.log
log-error =/data/mysql/mysql-data/logs/error.log
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysqldump]
quick
[mysqladmin]
user=root
password=qwe%abc
将my.cnf配置文件赋予mysql用户及组相关权限
[root@localhostdata]#chownmysql:mysql /etc/my.cnf
12、1、根据配置文件创建相关目录(注意datadir目录不要手工创建)
使用mysql用户,在mysql目录下创建mysql-data,并在该目录下创建logs目录
[root@localhostdata]#su - mysql
[mysql@localhost~]$mkdir /data/mysql/mysql-data
[mysql@localhost~]$mkdir /data/mysql/mysql-data/logs
13、mysql数据库初始化
修改找到my.cnf中datadir=
/data/mysql/mysql-data/data 注释或删除,执行如下命令进行初始化(初始化使用mysql用户)
[mysql@localhost~]$ vi /etc/my.cnf
进入/data/mysql/bin
[mysql@localhost~]$ cd /data/mysql/bin/
[mysql@localhostbin]$ ./mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/mysql-data/data
初始化完成之后,再将配置文件中datadir注释取消
[mysql@localhostbin]$ vi /etc/my.cnf
14、设置数据库启动文件
退出mysql用户
[mysql@localhostbin]$ exit
[root@localhostdata]# cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@localhostdata]# vi /etc/init.d/mysqld
根据my.cnf配置文件 修改mysqld文件中basedir、datadir相关路径信息
basedir=/data/mysql
datadir=/data/mysql/mysql-data/data
15、创建数据库自启动
创建软连接(实现可直接命令行执行mysql)
[root@localhostdata]# ln -s /data/mysql/bin/mysql /usr/bin
将mysqld添加至启动项,并设置为自启动
[root@localhostdata]#chkconfig --list mysqld
[root@localhostdata]#chkconfig --add mysqld
[root@localhostdata]#chkconfigmysqld on
16、启动数据库并登陆
[root@localhostdata]# /etc/init.d/mysqld start
初次登录数据时,因没有密码,无法登陆,需要修改my.cnf添加skip-grant-tables,重启数据库后,可用首次免密码登录
进入到/data/mysql/
[root@localhostmysql]# vi /etc/my.cnf
将skip-grant-tables 添加到[mysqld]下面
重启mysql
[root@localhostmysql]# /etc/init.d/mysqld stop
[root@localhostmysql]# /etc/init.d/mysqld start
[root@localhostmysql]#mysql -uroot-p