本篇文章介绍如何在centos6 中安装mysql8.x
下载rpm 包
下载地址: https://downloads.mysql.com/archives/community/
使用国内加速 http://uni.mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.27-1.el6.x86_64.rpm-bundle.tar
我在这选了 集合包,通俗的理解就是虽然大,但啥都有
# el6 表示适用于 centos6 el7 表示适用于centos7
mkdir mysql_8
cd mysql_8
# 此命令在博主的 腾讯云上执行很慢,推荐本地下载好再上传(scp)到服务器
wget --no-check-certificate https://downloads.mysql.com/archives/get/file/mysql-8.0.15-1.el6.x86_64.rpm-bundle.tar
tar -xzvf mysql-8.0.15-1.el6.x86_64.rpm-bundle.tar
# 解压后会有如下文件
-rw-r--r-- 1 root root 28906084 Jul 13 14:51 mysql-community-client-8.0.15-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 705768 Jul 13 14:50 mysql-community-common-8.0.15-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 4258376 Jul 13 14:50 mysql-community-devel-8.0.15-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 2543044 Jul 13 14:50 mysql-community-libs-8.0.15-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 1769320 Jul 13 14:50 mysql-community-libs-compat-8.0.15-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 414585640 Jul 13 14:52 mysql-community-server-8.0.15-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 86903628 Jul 13 14:51 mysql-community-test-8.0.15-1.el6.x86_64.rpm
安装&配置调整
安装前要先确认服务器上没有mysql (yum list installed | grep mysql),如果有需要先卸载
rpm -ivh mysql-community-common-8.0.15-1.el6.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.15-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.15-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.15-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-8.0.15-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-8.0.15-1.el6.x86_64.rpm
# test 模块选装 只要装上述版本即可
rpm -ivh mysql-community-test-8.0.15-1.el6.x86_64.rpm
MySQL8默认的认证插件是caching_sha2_password,很多客户端都不支持,可将默认的认证插件修改为mysql_native_password,在配置文件中配置default_authentication_plugin=mysql_native_password。具体方式如下:
vim /etc/my.cnf
找到 # default-authentication-plugin=mysql_native_password
取消注释 保存
启动服务&重置密码
mysqld --initialize
service mysqld start
# 终端输出
[root@VM_0_4_centos mysql_8]# service mysqld start
Initializing MySQL database: [ OK ]
Starting mysqld: [ OK ]
mysql 在初次启动的时候会生成一个root用户和随机密码
[root@VM_0_4_centos mysql_8]# cat /var/log/mysqld.log | grep "temporary password"
2019-07-13T09:10:51.497974Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: JRapt0gpz4_k
得到用户名密码之后登陆并修改密码,密码不能太简单
ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'
exit
使用新密码进行登陆
新建用户并授权远程登陆
登陆mysql 之后为了安全考虑,尽量不要用root 账户开通远程连接,通常的做法是新建一个权限有限的账户开通远程连接
# 新增用户 ip 为% 则任意IP均可登录
CREATE USER '用户名'@'ip' IDENTIFIED BY '密码';
# 授予某库某表的所有操作权限
GRANT ALL ON '库'.'表' TO '用户名'@'ip';
之后需要配置防火墙 开启 mysql 运行的端口,如果是腾讯云服务的话还需要设置下安全组。