在Linux上安装Mysql

参考:在Linux上安装mysql

下载

先去官网载MySQL Community Server,载第一个和第三个都行,只是解压的方式不同。

在Linux上安装Mysql

安装依赖库

apt install numactl
apt install libaio-dev

解压软件包

解压

tar -xvf mysql-8.0.15-linux-glibc2.12-x86

这里有很重要的一步
一定要解压到/usr/local下,并把目录名改成mysql!
因为mysql有一个datadir指向/usr/local/mysql
虽然可以改,但很麻烦。

mv mysql-8.0.15-linux-glibc2.12-x86_64/ mysql/

添加用户、设置权限

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

其实也可以不做分组,但还是做一下好。

初始化数据库

输入命令后,mysql会给出初始密码,保存下来,之后要用。
类似这样:[email protected]: 5t:t,uHQKE3y
账号是root,密码是5t:t,uHQKE3y

bin/mysqld --initialize --user=mysql

安装SSL服务

先安装openssl,再执行bin/mysql_ssl_rsa_setup

apt install openssl
bin/mysql_ssl_rsa_setup

复制服务文件

cp support-files/mysql.server /etc/init.d/mysql.server

开启服务

终端会卡在一个位置,再按一下Enter即可

bin/mysqld_safe --user=mysql &

使用用户root登录

登录

bin/mysql -uroot -p

更改root用户密码

方案一:限制本地登录

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
flush privileges;

方案二:可以任意IP与第三方客户端登录

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;    #修改root的密码与加密方式
use mysql;   #切换到mysql库
update user set host='%' where user = 'root';   #更改可以登录的IP为任意IP
flush privileges;    #刷新权限
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; #再次更改root用户密码,使其可以在任意IP访问
flush privileges;    #刷新权限

完成