Ubuntu 20.04 安装MySQL8.0
本文记录了在Ubuntu 20.04.5系统上安装MySQL 8.0的一般过程,仅供参考学习。
1. MySQL 8.0安装
更新源,安装mysql-server
apt update apt install mysql-server
安装完成后,登录
mysql -uroot -p
2. 参数修改&初始化
停止mysql服务,修改存储路径datadir:默认存储路径为/var/lib/mysql,修改datadir=/home/mysql
systemctl stop mysql
vi /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld] datadir = /home/mysql
设置新的存储路径mysql用户组权限:
chown -R mysql:mysql /home/mysql
关闭SELINUX,如提示缺少相关库,安装selinux-utils:
apt install selinux-utils
setenforce 0
安装完成后,执行 restorecon -FRv /var/lib重建selinux缓存,若提示相关库需安装policycoreutils:
apt install policycoreutils
restorecon -FRv /var/lib/
修改selinux配置文件,设置SELINUX=disabled,是的系统重启后依然生效:
vi /etc/selinux/config
SELINUX=disabled
修改apparmor系统安全应用程序配置:
vi /etc/apparmor.d/usr.sbin.mysqld
# Allow data dir access /home/mysql/ r, /home/mysql/** rwk,
vi /etc/apparmor.d/abstractions/mysql
/home/mysql{,d}/mysql{,d}.sock rw,
修改配置完成,重启apparmor
/etc/init.d/apparmor restart
设置忽略表名大小写lower-case-table-names=1
vi /etc/mysql/mysql.conf.d/mysqld.cnf
lower_case_table_names = 1 character-set-server=utf8mb4
初始化后重启
mysqld --initialize --user=mysql --lower-case-table-names=1 --datadir=/home/mysql
systemctl restart mysql
3. 远程访问
修改root用户密码:
mysql -uroot -p
alter user 'root'@'%' identified by '123456';
新建用户并开启远程访问:
create user 'username'@'%' identified by '123456';
grant all privileges on *.* to 'username'@'%';
flush privileges;
修改数据库配置,曲线IP访问限制:
vi /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0 mysqlx-bind-address = 0.0.0.0
重启mysql服务后,实现远程用户连接
systemctl restart mysql
4. 开机自启
设置MySQL开机自启动:
systemctl enable mysql