centos 安装mysql

centos 安装mysql

精选文章moguli202025-04-15 13:49:1725A+A-

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

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2