Linux环境下安装mysql8.0
引言:mysql8.0是继mysql5.7之后的一个全新的版本,跨度那么大,可见实力也很强。mysql8.0的速度是之前的2倍(看图),必须上手体验一下。它的安装方式和连接方式都发生了一些变化。
为了节约时间,点击这,效率更高
一、mysql的下载
1.进入mysql的官网
- 到最下方,点击mysql社区服务
- 找到linux的通用版下载即可
2.利用远程推送工具传动啊自己的服务器上即可(自己电脑上安装省略此步)
二、安装
1.可以查看官方文档(逼格高)
根据官方文档的提示操作
执行完上面的命令即可完成初始化,初始化后会给一个密码,记下密码,用于登录,后面的就不用看了
2官方文档看不懂的看这个(方便易懂)
1.安装依赖库
- 安装libaio和numactl库
apt install numactl
apt install libaio-dev
2.解压
- 解压之后将软件包移动到/usr/local目录,并命名为mysql
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
3.新增用户和设置权限
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
4.初始化数据库
bin/mysqld --initialize --user=mysql
这个时候,系统会为root用户自动分配一个密码,记住,一会就需要用它登录。
5.安装SSL服务
- 安装ssl服务之前需要安装OpenSSL
apt install openssl bin/mysql_ssl_rsa_setup
6.拷贝服务文件
cp support-files/mysql.server /etc/init.d/mysql.server
这样就完成了mysql8.0的安装
三、使用mysql8.0
1.开启服务
- &是后台运行的意思
bin/mysqld_safe --user=mysql &
- 执行命令之后,终端会卡在一个位置,再按一下Enter即可
2.登录
bin/mysql -uroot -p;
- 填上初始化的密码即可登录
- 初始化的密码必须要修改后才可以正常使用数据库
3.更改root用户的密码(按照需求更改(一和二任选一个))
一.只需要在本地登录的用户
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
- 密码改为:123456
1查看登录的主机用户
select host,user from user;
2切换到mysql数据库
use mysql;
3查看可以登录的主机和用户
select host,user from user;
- 出现如图情况就说明,只能在本机(localhost)上登录
- 当然如果你的需求发生了变化(需要远程连接数据库),也可以修改(按照4 5 6),如果不想修改的请忽略4 5 6.
4改成所有的地方都可以登录,修改完成后刷新权限
update user set host='%' where user = 'root';
flush privileges;
5想要在别的地方登录必须使用如下的密码规则 然后刷新权限,退出
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
exit;
6此时登录就可以看见数据库
bin/mysql -uroot -p;
show databases;
这样就可以在连接工具上远程连接数据库了
二.需要本地和远程登录的用户
1修改root的密码与加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;
2切换到mysql库
use mysql;
3更改可以登录的IP为任意IP
update user set host='%' where user = 'root';
3刷新权限
flush privileges;
4再次更改root用户密码,使其可以在任意IP访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
5刷新权限
flush privileges;
4再次更改root用户密码,使其可以在任意IP访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
5刷新权限
flush privileges;
这样就可以在连接工具上远程连接数据库了