安装mysql-serve
apt install mysql-server
安装python客户端 mysqlclient
apt install libmariadbd-dev
pip install mysqlclient
修改数据存储目录
1. 创建目录并修改目录权限
mkdir /home/abc/data
chown -R mysql:mysql /home/abc/data
# 将mysql原数据目录内容复制到/home/abc/data, 如果不复制,启动会失败
cp -r /var/lib/mysql/* /home/abc/data/
2. 修改mysql配置文件 /etc/mysql/my.cnf,增加以下配置
[mysqld]
datadir=/home/abc/data
3. 此时启动mysql通常会报错。
原因是ubuntu中存在一个apparmor的服务,这个服务主要的作用是设置某个可执行程序的访问控制权限,可以限制程序 读/写某个目录/文件,打开/读/写网络端口等等
4. 修改apparmor配置文件
vim /etc/apparmor.d/usr.sbin.mysqld
#修改如下配置
# Allow data dir access
/home/abc/data/ r,
/home/abc/data/** rwk,
5. 重启apparmor服务
systemctl restart apparmor
6. 重启mysql
systemctl start mysql
注:
1. 如果服务启动过程中出现异常,可通过以下命令查看服务日志
journalctl -xeu mysql.service
journalctl -u apparmor
2. apparmor的状态为Active: active (exited)是正常的