1) 查看系统中是否存在mariadb,如果存在则安装mysql时会有冲突,需要先卸载mariadb
- # 查看是系统中是否存在mariadb
- rpm -qa|grep mariadb
-
- # 卸载mariadb
- rpm -e --nodeps mariadb
2)创建mysql用户及用户组
- #创建用户组
- groupadd mysql
-
- #创建用户
- useradd mysql -g mysql
3) 将离线安装包传入liunx,并解压
tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
4) 安装
- rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
-
- rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
-
- rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
-
- //安装之前,请先检查是否安装libaio,如果未安装请先安装之后再装server源
- rpm -qa|grep libaio
-
- rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
5) 初始化,启动
- # 初始化数据库
- mysqld --initialize
-
- #启动数据库服务
- systemctl start mysqld
如果启动失败,可能是因为/var/lib/mysql没有权限导致的。可以通过查看/var/lib下的mysql目录的所属用户及用户组予以确认。如果mysql目录的所属用户及用户组不是mysql,处理方法如下:
- # 更改mysql数据库目录的所属用户及用户组
- chown mysql:mysql /var/lib/mysql -R
-
- # mysql目录授权
- cd /var/lib
- chmod -R 777 mysql
6) 启动成功后修改mysql的登录密码
查看安装时生成的随机密码:
grep 'password' /var/log/mysqld.log
运行结果如下:
使用随机密码登录
- mysql -u root -p
- #注入随机密码
重置密码:
set password = password('密码')
7) 授权外网登录权限
- grant all privileges on *.* to root@'%' identified by '密码’;
all privileges: 表示所有权限
. 表示所有数据库的所有表。
8)刷新权限
flush privileges;
9)在防火墙规则中加入3306端口
- #配置防火墙规则
- firewall-cmd --zone=public --add-port=3306/tcp --permanent
- firewall-cmd --reload
-
- #关闭防火墙,不建议使用
- systemctl stop firewalld.service
- systemctl disable firewalld.service
1)下载并安装MySQL官方的 Yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2) yum安装
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
3) 开始安装MySQL服务器
[root@localhost ~]# yum -y install mysql-community-server
4) 启动数据库
[root@localhost ~]# systemctl start mysqld.service
5)查看数据库状态
[root@localhost ~]# systemctl status mysqld.service
6)登录数据库
首先获取安装mysql时的初始密码:
- [root@localhost ~]# grep "password" /var/log/mysqld.log
- 2020-09-15T17:01:57.020172Z 1 [Note] A temporary password is generated for root@localhost: dsTSIKb2yo:9
dsTSIKb2yo:9即为初始密码,
使用初始密码登录,然后修改为自己的密码, mysql默认对密码是有要求的,不能简单的设置为1234等,自己的测试库不用太复杂,可以关闭密码检查
- mysql -u root -p
- ......
- mysql> set global validate_password_policy=0;
- mysql> set global validate_password_length=1;
- mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
7)赋值权限
- mysql> grant all privileges on *.* to root@'%' identified by '123456';
- mysql> flush privileges;
- mysql> exit
8) 防火墙等相关设置,请大家参照8.1部分的描述。
9)自动启动
- #服务状态
- systemctl status mysqld.service
-
- #开机启动
- systemctl enable mysqld.service