CentOS7安装MySQL5.7

前言

linux环境安装mysql5.7,在mysql5.7版本中已经不需要/etc/my.cnf就能启动,所以在这里就省去了配置my.cnf的步骤,并且使用默认安装路径/usr/local/mysql。

安装步骤

  • 清理安装环境
# 卸载系统自带的Mariadb
[root@localhost ~]# rpm -qa|grep mariadb
# 如果存在就卸载
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
# 删除/etc/my.cnf和/etc/mysql
  • 安装必要的库

MySQL has a dependency on the libaio library. Data directory initialization and subsequent server startup steps will fail if this library is not installed locally. If necessary, install it using the appropriate package manager.

# 查询库
[root@localhost ~]# yum search libaio
# 安装库
[root@localhost ~]# yum install libaio
  • 解压压缩包并设置软链接
# 解压
[root@localhost local]# tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
# 软链接
[root@localhost local]# tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
  • 准备mysql初始化环境
# 创建mysql用户和用户组
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd -r -g mysql -s /bin/false mysql
# 创建mysql-files及设置权限
[root@localhost local]# cd mysql
[root@localhost mysql]# mkdir mysql-files
[root@localhost mysql]# chown mysql:mysql mysql-files
[root@localhost mysql]# chmod 750 mysql-files
  • 初始化mysql
[root@localhost mysql]# bin/mysqld --initialize --user=mysql

这里写图片描述
这一步骤执行后能得到一个密码,记录一下之后需要用到。就是上图红框中的部分。

# 继续初始化
[root@localhost mysql]# bin/mysql_ssl_rsa_setup
[root@localhost mysql]# bin/mysqld_safe --user=mysql &
# 初始化到此结束
  • 其他可选操作
# 作为服务启动
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql.server
[root@localhost mysql]# chkconfig --add mysql.server
# 将mysql命令添加到环境变量中(临时)
[root@localhost mysql]# export PATH=$PATH:/usr/local/mysql/bin
# 将mysql命令添加到环境变量中(永久)
[root@localhost mysql]# vim /etc/profile
# 在文件末尾增加
export PATH=$PATH:/usr/local/mysql/bin
  • FAQ
密码太复杂
[root@localhost ~]# mysql -uroot -p
Enter password: [这里输入在初始化时得到的密码]
mysql> set PASSWORD = PASSWORD('[修改后的密码]');
Query OK, 0 rows affected, 1 warning (0.00 sec)
远程连不上
# 登陆后选择数据库:mysql
mysql> use mysql;
# 查看已拥有的用户
select host, user from user;
# 更新root用户可远程登陆
update user set host = '%' where user = 'root';
修改了root用户对应的host为%还是连接不上
# 在防火墙中开启3306端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost ~]# firewall-cmd --reload
其他连接不上的问题
重启mysql服务
如果还不行就百度

参考

《2.2 Installing MySQL on Unix/Linux Using Generic Binaries》- https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
《centos7 + mysql5.7 tar包解压安装》- https://www.cnblogs.com/dadadechengzi/p/6723686.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值