在ubuntu server 18.04上安装配置MySQL8.0手记

阅读更多

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服务,迁移数据目录完成。

你可能感兴趣的:(ubuntu,mysql)