【MySQL】Ubuntu下安装MySQL 5.7.24以及修改datadir目录出错解决方案

    安装MySQL
    1. 下载Ubuntu Deb软件包
[root@7con ~] wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.24-1ubuntu14.04_amd64.deb-bundle.tar
[root@7con ~]  tar -xf mysql-server_5.7.24-1ubuntu14.04_amd64.deb-bundle.tar

    2. 在安装deb软件包前,先进行安装依赖包
[root@7con ~] apt-get update		# 更新仓库软件
[root@7con ~] apt-get install -f	# 防止安装依赖关系时报错
[root@7con ~] apt-get install -y libaio1 libmecab2

    3.按顺序安装deb软件包
[root@7con ~] dpkg -i mysql-common_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i libmysqlclient20_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i libmysqlclient-dev_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i libmysqld-dev_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i mysql-community-client_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i mysql-community-source_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i mysql-client_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i mysql-community-server_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i mysql-community-client_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i mysql-community-test_5.7.24-1ubuntu14.04_amd64.deb
[root@7con ~] dpkg -i mysql-testsuite_5.7.24-1ubuntu14.04_amd64.deb

    如果安装倒数第二步时出现错误,我们可以执行 apt --fix-broken install 命令可以解决
    在安装的过程中,会弹出命令窗口要求我们输入数据库密码,如下

     在输入完密码后,我们只要接着安装剩下的deb软件包即可。


     Ubuntu下,在安装MySQL服务后,是默认自动启动服务的。使用 netstat -antulp 命令就可查看3306端口是否开启。

     在Ubuntu里,编者建议将数据库进行一次初始化。注意,使用了 mysqld --initialize 后,会有初始化密码显示,如下图:

[root@7con ~] service mysql stop
[root@7con ~] rm -rf /var/lib/mysql/
[root@7con ~] mysqld --initialize	
[root@7con ~] chown mysql.mysql -R /var/lib/mysql/
[root@7con ~] service mysql stop

修改mysql数据库datadir产生的问题

    在Ubuntu部署MySQL数据库,编者也是第一次,当时以为修改datadir后,就可以跟CentOS一样,进行后续的常规操作,并将服务正常启动。谁知万万不得己意。在网上搜索一番之后,才得知Ubuntu修改datadir还需要其他的操作才可以,最后才慢慢的将问题解决。

在进行以下操作时,希望将数据都进行备份,以防后续操作失误,以便进行回滚。

一、停止MySQL服务
[root@7con ~] service mysql stop
二、将默认的datadir下的数据迁移到修改后的datadir
[root@7con ~] cp -r /var/lib/mysql /var/lib/mysql.bak	# 先进行一次备份
[root@7con ~]  mv /var/lib/mysql /data/mysql
[root@7con ~]  chown -R mysql.mysql /data/mysql/		# 注意datadir下属主属主
三、修改mysql的配置文件

    将配置文件下默认的datadir,修改成迁移数据的路径

[root@7con ~] vim /etc/mysql/mysql.conf.d/mysqld.cnf
四、修改 /etc/apparmor.d/usr.sbin.mysqld文件
[root@7con ~]  vim /etc/apparmor.d/usr.sbin.mysqld
	# 大概在50行的位置	
	... ...
 49 # Allow data dir access
 50 #  /var/lib/mysql/ r,
 51 #  /var/lib/mysql/** rwk,
 52   /data/mysql/ r,
 53   /data/mysql/** rwk,
 	... ...

    修改完成之后,重新加载apparmor配置文件

[root@7con ~]  service apparmor reload
五、修改/usr/share/mysql/mysql-systemd-start文件

    将类似"/var/lib/mysql"的内容全部修改为"/data/mysql"

六、启动MySQL服务
[root@7con ~] service mysql start
七、登陆数据库查看数据库的datadir的路径是否为自己迁移后的路径
[root@7con ~] mysql -uroot -p
[root@7con ~] show variables like '%datadir%';

    如果此时,显示的是修改后的路径,且数据都在修改后的路径中产生,那么,恭喜你操作成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值