Linux环境下安装mysql8.0
引言:mysql8.0是继mysql5.7之后的一个全新的版本,跨度那么大,可见实力也很强。mysql8.0的速度是之前的2倍(看图),必须上手体验一下。它的安装方式和连接方式都发生了一些变化。
一、mysql的下载
1.进入mysql的官网
- 到最下方,点击mysql社区服务

二、安装
1.可以查看官方文档(逼格高)



根据官方文档的提示操作
执行完上面的命令即可完成初始化,初始化后会给一个密码,记下密码,用于登录,后面的就不用看了
2官方文档看不懂的看这个(方便易懂)
1.安装依赖库
- 安装libaio和numactl库
1
2apt install numactl
apt install libaio-dev
2.解压
- 解压之后将软件包移动到/usr/local目录,并命名为mysql
1
2tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
mv mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql3.新增用户和设置权限
1
2
3
4
5
6
7groupadd 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-files4.初始化数据库
1
bin/mysqld --initialize --user=mysql
- 这个时候,系统会为root用户自动分配一个密码,记住,一会就需要用它登录。*
5.安装SSL服务
- 安装ssl服务之前需要安装OpenSSL
1 | apt install openssl bin/mysql_ssl_rsa_setup |
6.拷贝服务文件
1 | cp support-files/mysql.server /etc/init.d/mysql.server |
这样就完成了mysql8.0的安装
三、使用mysql8.0
1.开启服务
- &是后台运行的意思
1
bin/mysqld_safe --user=mysql &
- 执行命令之后,终端会卡在一个位置,再按一下Enter即可
2.登录
1 | bin/mysql -uroot -p; |
填上初始化的密码即可登录
初始化的密码必须要修改后才可以正常使用数据库
3.更改root用户的密码(按照需求更改(一和二任选一个))
一.只需要在本地登录的用户
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; |
密码改为:123456
1查看登录的主机用户
1
select host,user from user;
2切换到mysql数据库
1
use mysql;
3查看可以登录的主机和用户
1
select host,user from user;
![ae19376ea77bcd38fb8d1937b3bf6ed6.png]()
出现如图情况就说明,只能在本机(localhost)上登录
当然如果你的需求发生了变化(需要远程连接数据库),也可以修改(按照4 5 6),如果不想修改的请忽略4 5 6.
4改成所有的地方都可以登录,修改完成后刷新权限
1 | update user set host='%' where user = 'root'; |
5想要在别的地方登录必须使用如下的密码规则 然后刷新权限,退出
1 | ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; |
6此时登录就可以看见数据库
1 | bin/mysql -uroot -p; |
这样就可以在连接工具上远程连接数据库了
二.需要本地和远程登录的用户
1修改root的密码与加密方式
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER; |
2切换到mysql库
1 | use mysql; |
3更改可以登录的IP为任意IP
1 | update user set host='%' where user = 'root'; |
3刷新权限
1 | flush privileges; |
4再次更改root用户密码,使其可以在任意IP访问
1 | ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; |
5刷新权限
1 | flush privileges; |
这样就可以在连接工具上远程连接数据库了



