系统环境
系统版本:CentOS Linux release 8.1.1911
MySQL版本:5.7.28
通过RPM包安装
卸载mariadb
1 | rpm -qa|grep mariadb |
我的centos版本没装,如果有的话用以下命令卸载
1 | rpm -e --nodeps mariadb |
检查依赖环境
1 | rpm -qa | grep libaio |
下载rpm包
去官网下载对应版本的rpm包,一般来说只用下common、libs、client和server这4个包,直接下Bundle包也行。网速可以的话直接用wget下载就行。
1 | cd /opt |
附上Bundle包:
1 | wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar |
安装MySQL
这里要注意安装顺序,common-libs-client-server
1 | rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm |
装完检查一下安装是否成功:
1 | mysqladmin --version |
初始化MySQL
5.7版本安装MySQL后默认没有启动,需要手动初始化:
1 | mysqld --initialize --user=mysql |
初始化后也没有回显,需要到日志文件中寻找初始密码:
1 | cat /var/log/mysqld.log |
此时我们可以看一下配置文件:
1 | cat /etc/my.cnf |
可以看到数据库目录在/var/lib/mysql,列一下主要的目录地址:
参数 | 目录 |
---|---|
–basedir | /usr/bin |
–datadir | /var/lib/mysql |
–pid-file | /var/run/mysqld/mysqld.pid |
本地连接MySQL
有了初始密码就可以本地连接MySQL了,先启动服务:
1 | systemctl start mysqld |
检查一下:
1 | systemctl status mysqld |
OK没问题,通过root和初始密码连接:
1 | mysql -uroot -p |
熟悉的界面是吧,别急,还得改一下初始密码:
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码'; |
注意默认配置下密码不能过于简单否则会报错,重新登录一下,搞定!
远程连接MySQL
如果需要通过第三方工具远程连接数据库进行操作的话,还要给root添加一下远程权限。
先看一下root的权限:
1 | use mysql; |
显然现在只允许root通过本地连接,给它改成允许所有连接:
1 | UPDATE user SET host='%' WHERE user='root'; |
这里也可以用另一种方式:
1 | GRANT all privileges on *.* to root@'%' identified by 'mysql123456'; |
刷新一下:
1 | flush privileges; |
用SQLyog连接一下试试:
这样MySQL5.7.28就部署成功了。
顺便附上一份之前写的的二进制包安装及配置简单教程。
通过二进制包安装
下载二进制包
1 | wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz |
安装MySQL
1 | 解压二进制包 |
初始化MySQL
1 | mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data |
连接MySQL
1 | $ service mysql start |