1、删除centos系统自带的mariadb数据库防止发生冲突
1 2 | rpm -qa|grep mariadbrpm -e mariadb-libs --nodeps |
2、安装libaio库
1 | yum -y install libaio |
3、下载并解压mysql-5.7.25
1 2 3 | cd /opt/wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gztar xzvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz |
4、查看是否有mysql用户和mysql用户组
1 2 | cat /etc/passwd|grep mysqlcat /etc/group|grep mysql# 如果存在,则删除用户和用户组userdel -r mysql |
5、创建mysql用户及其用户组
1 2 | groupadd mysqluseradd -r -g mysql mysql |
6、设置mysql用户为非登陆用户
1 | usermod -s /sbin/nologin mysql |
7、创建basedir、datadir目录、pid文件
1 2 3 4 5 | mkdir /opt/mysqlmkdir /opt/mysql/datamv mysql-5.7.25-linux-glibc2.12-x86_64/* /opt/mysql/touch /opt/mysql/mysqld.pidchown -R mysql:mysql /opt/mysql |
8、创建日志
1 2 | touch /var/log/mysqld.logchown mysql:mysql /var/log/mysqld.log |
9、创建socket文件
1 2 | touch /tmp/mysql.sockchown mysql:mysql /tmp/mysql.sock |
10、创建配置文件vim /etc/my.cnf并加入如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [mysqld]character-set-server=utf8user=mysqlport=3306basedir=/opt/mysqldatadir=/opt/mysql/datasocket=/tmp/mysql.sock[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/opt/mysql/mysqld.pid[client]port=3306socket=/tmp/mysql.sock |
11、安装初始化
1 2 | cd /opt/mysql/bin/./mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql |
成功即为如下图所示,记录临时密码。

12、设置开机启动
复制启动脚本到资源目录:
1 | cp ../support-files/mysql.server /etc/rc.d/init.d/mysqld |
增加mysqld控制脚本权限:
1 | chmod +x /etc/rc.d/init.d/mysqld |
将mysqld加入到系统服务:
1 | chkconfig --add mysqld |
检查mysqld服务是否生效:
1 | chkconfig --list mysqld |
命令输出类似如下:

现在即可使用service命令控制mysql启动、停止。
PS:删除启动命令:
1 | chkconfig --del mysqld |
13、启动mysqld服务
1 | service mysqld start |
14、环境变量配置
编辑/etc/profile,加入如下内容:
1 | export PATH=$PATH:/opt/mysql/bin |
执行命令使其生效:
1 | source /etc/profile |
15、登录mysql(使用随机生成的那个密码)
1 | mysql -uroot -pitg1Srw5kD:? |
修改root密码:
1 | mysql> alter user "root"@"localhost" identified by "新密码"; |
刷新权限:
1 | mysql> flush privileges; |
退出mysql,使用新密码登录mysql。
16、添加远程登录用户
默认只允许 root 帐户在本地登录mysql,如果要在其它机器上连接MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,可以添加一个新的帐户。
1 | mysql> grant all privileges on *.* to "用户名"@"IP地址" identified by "密码" with grant option; |

17、开启防火墙mysql3306端口的外部访问
1 2 | firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reload |
参数说明:
- --zone:作用域,网络区域定义了网络连接的可信等级。
- --add-port:添加端口与通信协议,格式:端口/通信协议,协议为tcp或udp。
- --permanent:永久生效,没有此参数系统重启后端口访问失败。
标签:kconfig zone cti order 记录 contain 生效 数据 本地登录
原文地址:https://www.cnblogs.com/python001-vip/p/12502775.html