CentOS7.9二进制方式安装mysql5.7


1、删除centos系统自带的mariadb数据库防止发生冲突 [root@centos7-85 ~]# rpm -qa | grep mariadb mariadb-libs-5.5.68-1.el7.x86_64 [root@centos7-85 ~]# rpm -e mariadb-libs --nodeps   2、安装libaio库 [root@centos7-85 ~]# yum -y install libaio   3、下载并解压mysql-5.7.25 [root@centos7-85 ~]#cd /opt [root@centos7-85 opt]#wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz [root@centos7-85 opt]# tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz   4、查看是否有mysql用户和mysql用户组 [root@centos7-85 opt]# cat /etc/passwd|grep mysql [root@centos7-85 opt]# cat /etc/group|grep mysql #如果存在,则删除用户和用户组userdel -r mysql   5、创建mysql用户及其用户组 [root@centos7-85 opt]# groupadd mysql [root@centos7-85 opt]# useradd -r -g mysql mysql   6、设置mysql用户为非登陆用户 [root@centos7-85 opt]# usermod -s /sbin/nologin mysql   7、创建basedir、datadir目录、pid文件 [root@centos7-85 opt]# mkdir /opt/mysql [root@centos7-85 opt]# mkdir /opt/mysql/data [root@centos7-85 opt]# mv mysql-5.7.35-linux-glibc2.12-x86_64/* /opt/mysql/ [root@centos7-85 opt]# touch /opt/mysql/mysqld.pid [root@centos7-85 opt]# chown -R mysql:mysql /opt/mysql   8、创建日志 [root@centos7-85 opt]# touch /var/log/mysqld.log [root@centos7-85 opt]# chown mysql:mysql /var/log/mysqld.log   9、创建socket文件 [root@centos7-85 opt]# touch /tmp/mysql.sock [root@centos7-85 opt]# chown mysql:mysql /tmp/mysql.sock   10、创建配置文件vim /etc/my.cnf并加入如下内容 [mysqld] character-set-server=utf8 user=mysql port=3306 basedir=/opt/mysql datadir=/opt/mysql/data socket=/tmp/mysql.sock   [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/opt/mysql/mysqld.pid   [client] port=3306 socket=/tmp/mysql.sock   11、安装初始化 [root@centos7-85 opt]# cd /opt/mysql/bin/ [root@centos7-85 bin]# ./mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data  

没有设置初始密码

  12、设置开机启动 复制启动脚本到资源目录: [root@centos7-85 bin]# cp ../support-files/mysql.server /etc/rc.d/init.d/mysqld 增加mysqld控制脚本权限: [root@centos7-85 bin]# chmod +x /etc/rc.d/init.d/mysqld 将mysqld加入到系统服务: [root@centos7-85 bin]# chkconfig --add mysqld [root@centos7-85 bin]# chkconfig --list mysqld 检查mysqld服务是否生效: [root@centos7-85 bin]# chkconfig --list mysqld

 

命令输出类似如下: 现在即可使用service命令控制mysql启动、停止。 PS:删除启动命令: chkconfig --del mysqld   13、启动mysqld服务 service mysqld start

 

14、环境变量配置 编辑/etc/profile,加入如下内容: [root@centos7-85 bin]# export PATH=$PATH:/opt/mysql/bin 执行命令使其生效: source /etc/profile   15、登录mysql mysql -uroot 设置root密码: mysql> alter user "root"@"localhost" identified by "新密码"; 或者: mysql> set password = password('mysql'); 刷新权限: mysql> flush privileges; 退出mysql,使用新密码登录mysql。   16、添加远程登录用户 默认只允许 root 帐户在本地登录mysql,如果要在其它机器上连接MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,可以添加一个新的帐户。 mysql> grant all privileges on *.* to "用户名"@"IP地址" identified by "密码" with grant option;   mysql> grant all privileges on *.* to yehailun@'%' identified by 'yehailun'; Query OK, 0 rows affected, 1 warning (0.00 sec)   mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)   17、开启防火墙mysql3306端口的外部访问 firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload 参数说明:
  • --zone:作用域,网络区域定义了网络连接的可信等级。
  • --add-port:添加端口与通信协议,格式:端口/通信协议,协议为tcp或udp。
  • --permanent:永久生效,没有此参数系统重启后端口访问失败。
  参考: https://www.cnblogs.com/believepd/p/10603414.html https://zhuanlan.zhihu.com/p/112263559 https://www.jb51.net/article/162753.htm https://blog.whsir.com/post-3627.html https://cloud.tencent.com/developer/article/1409849