在ubuntu server 18.04上安装配置MySQL8.0手记 ubuntumysql
1、在ubuntu server 18.04上安装配置MySQL8.0
直接使用apt install mysql-server安装,那么恭喜你踩坑。sudo apt install mysql-server默认会安装MySQL 5.7,将会出现一些莫名的问题,例如:安装过程没有要求输入root密码,而登录mysql时会要求密码等等……
阅读了一下MySQL安装指南,发现MySQL5.7版本最高只适配到Ubuntu17.04,而MySQL8.0最高适配到Ubuntu18.04。
So,去http://dev.mysql.com/downloads/repo/apt/.下载一个mysql-apt-config_0.*.****_all.deb,使用
sudo dpkg -i mysql-apt-config_0.*.****_all.deb
安装执行,选择MySQL8.0,OK。
然后apt update一下,使用sudo apt install mysql-server命令,就会安装MySQL8.0。
MySQL8.0采用了新的加密方式,一定要注意,正是因为这个加密方式才导致Ubuntu18.04用设置的root密码登录不了MySQL,因为Ubuntu18.04的终端可能有问题,并不支持这个新的加密方式。幸好有界面可以让我们选择使用旧版本5.x的加密方式,所以果断选择采用5.x的加密方式。
2、迁移MySQL数据目录
默认MySQL8.0,会将数据目录指定到 /var/lib/mysql/ 下,计划数据目录放到 ~/mysql_data/ 中。
(1)停mysql服务
(2)拷贝 /var/lib/mysql/ 到 ~/mysql_data/。为了确保文件权限正确,拷贝时加 -a 参数。
sudo cp -a /var/lib/mysql ~/mysql_data/
(3)修改配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf 中的 datadir 配置项
datadir = /home/*****/mysqldata/mysql
(4)配置AppArmor访问控制规则,文件路径是:/etc/apparmor.d/usr.sbin.mysqld
注释掉原数据目录规则
# /var/lib/mysql r,
# /var/lib/mysql/** rwk,
新增
/home/*****/mysqldata/mysql r,
/home/*****/mysqldata/mysql/** rwk,
(5)重启mysql服务,迁移数据目录完成。
上一篇: 视屏监控(基于TCP/IP一)