centos7安装mysql5.7

检查已安装的mariadb,并强制卸载

[root@xiaoman03 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@xiaoman03 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

下载mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

下载地址:https://downloads.mysql.com/archives/community/

[root@xiaoman03 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

添加mysql组和mysql用户

[root@xiaoman03 ~]# groupadd mysql
[root@xiaoman03 ~]# useradd -r -g mysql mysql

-r 参数表示mysql用户是系统用户,不可用于登录系统。
-g 参数表示把mysql用户添加到mysql用户组中。

解压mysql安装包到指定的目录 /usr/local

[root@xiaoman03 ~]# cd /usr/local
[root@xiaoman03 local]# tar -zxvf /soft/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

将解压后的目录改名为mysql

[root@xiaoman03 local]# mv mysql-5.7.37-linux-glibc2.12-x86_64/ mysql

更改权限

[root@xiaoman03 local]# chown -R mysql:mysql mysql/

在这里插入图片描述

创建配置文件vim /etc/my.cnf

[client]
# 设置mysql客户端默认字符集
default-character-set = utf8mb4
#如果不设置会报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket
socket=/data/mysql57/data/mysql.sock

[mysqld]
#设置3306端口
port=3306
character-set-server = utf8mb4
#设置隔离级别,默认REPEATABLE-READ
transaction-isolation=READ-COMMITTED

# 设置mysql的安装目录
basedir=/usr/local/mysql

# 设置mysql数据库的数据的存放目录
datadir=/data/mysql57/data
socket=/data/mysql57/data/mysql.sock

# 禁用主机名解析
skip-name-resolve

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1

# 过小可能会导致写入(导入)数据失败
max_allowed_packet = 256M
group_concat_max_len = 10240

# 允许最大连接数
max_connections=200

# 提到 join 的效率
join_buffer_size = 16M
# 事务日志大小
innodb_log_file_size = 256M
# 日志缓冲区大小
innodb_log_buffer_size = 4M
# 事务在内存中的缓冲
innodb_log_buffer_size = 3M

[mysqldump]
# 开启快速导出
quick
default-character-set = utf8mb4
max_allowed_packet = 256M

创建目录,改变权限

#递归创建目录
[root@xiaoman03 local]# mkdir -p /data/mysql57/data
#更改权限
[root@xiaoman03 local]# chown -R mysql:mysql /data/mysql57/data
#初始化数据库,记下最后一行的密码(牢记初次登录需要)
[root@xiaoman03 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql57/data

在这里插入图片描述

启动数据库

#源目录启动数据库
[root@xiaoman03 mysql]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.Logging to '/data/mysql57/data/xiaoman03.err'.
                                                           [  OK  ]

设置自动启动mysql

# 复制启动脚本到资源目录
[root@xiaoman03 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
# 增加mysqld服务控制脚本执行权限
[root@xiaoman03 mysql]# chmod +x /etc/rc.d/init.d/mysqld
#将mysqld添加到系统服务,并检查是否生效
[root@xiaoman03 mysql]# chkconfig --add mysqld
[root@xiaoman03 mysql]# chkconfig --list mysqld

#可以使用以下命令启动/停止/重启mysqld服务
service mysqld start/stop/restart

登录mysql,修改初始密码和远程登录权限

# 建立一个链接文件。因为系统默认会查找/usr/bin下的命令。
[root@xiaoman03 mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin
#以root用户登录,输入系统产生的随机密码
[root@xiaoman03 mysql]#  mysql -uroot -p
Enter password: 
#登录以后,修改用户密码
mysql> set password for root@localhost=password("用户新密码");
Query OK, 0 rows affected, 1 warning (0.00 sec)
#设置root远程登录
mysql> GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY '用户密码' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.01 sec)
#更新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

遇到的问题

  1. 执行bin/mysqld报错
[root@xiaoman03 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql57/data
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

原因: 缺少依赖库
解决:yum install -y libaio

参照的文章

https://blog.csdn.net/object_oriented_/article/details/105529726
https://baijiahao.baidu.com/s?id=1720534115242831841&wfr=spider&for=pc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值