安装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%';
如果此时,显示的是修改后的路径,且数据都在修改后的路径中产生,那么,恭喜你操作成功!