撰写时间:2018-06-30 14:48,整理时间:2023-01-28
一、环境
继MySQL 5.7之后,直接跳到了MySQL 8.0,官方说这次来了个大升级,其他的不说,就查询速度是5.7的2倍,因此我也尝试安装使用,我的Linux版本是 Ubuntu 16.04,根据官方文档,下面是安装的过程
二、安装过程
2.1 下载安装包
MySQL最新下载地址:https://dev.mysql.com/downloads/mysql/ 选择的是Linux 64位通用的二级制版本,这样不在需要进行编译安装,系统安装依赖库后就可以直接使用。
2.2 安装依赖库
官方说要安装libaio,但实际如果你安装libaio库的话不行,还需安装numactl库,如下
1
2
apt install numactl
apt install libaio-dev
2.3 解压软件包到系统
解压之后将软件包移动到系统中的/usr/local目录,并命名为mysql
1
2
tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
mv mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql
2.4 添加用户、设置权限
1
2
3
4
5
6
7
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /usr/local
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
2.5 初始化数据库
1
bin/mysqld --initialize --user=mysql
可以看到系统随机给root用户分配了一个密码,如图所示,这个密码要记住,想要自定义后续可以改
2.6 安装SSL服务
执行安装命令之前先安装openssl,不然会报错
1
2
apt install openssl
bin/mysql_ssl_rsa_setup
2.7 复制服务文件
1
cp support-files/mysql.server /etc/init.d/mysql.server
三、使用MySQL 8.0.11
3.1 开启服务
&是后台运行的意思,执行命令之后,终端会卡在一个位置,再按一下Enter即可,如图所示
1
bin/mysqld_safe --user=mysql &
3.2 使用用户root登录
使用刚才随机生成的密码,即可计入数据库
1
bin/mysql -uroot -p
3.3 更改root用户密码
第一次使用随机登录并不能使用,因此我们需要更改密码,如下
- (1)方案一:修改本地登录密码
1
2
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
flush privileges;
- (2)方案二:修改密码,并设置为任意IP与第三方客户端可登录
1
2
3
4
5
6
7
8
9
10
11
12
# 修改root的密码与加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;
# 切换到mysql库
use mysql;
# 更改可以登录的IP为任意IP
update user set host='%' where user = 'root';
# 刷新权限
flush privileges;
# 再次更改root用户密码,使其可以在任意IP访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
# 刷新权限
flush privileges;
更改好之后,退出,并使用新密码重新登录,数据库便可以使用了!