1. 迁移数据文件路径
[root@oracle12c ~]# mkdir /data
[root@oracle12c ~]# cd /data/
[root@oracle12c data]# mkdir mysql
[root@oracle12c data]# cd mysql/
[root@oracle12c mysql]# mv /usr/local/mysql/data/ .
[root@oracle12c mysql]# ls
启动
[root@oracle12c mysql]# /etc/init.d/mysql.server start
Starting MySQL.Logging to '/usr/local/mysql/data/oracle12c.err'.
The server quit without updating PID file (/usr/local/mysql[FAILED]acle12c.pid).
报错原因是因为mysql按照 /etc/init.d/mysql.server里面的datadir路径去找数据文件,但是没有找到。所以需要在/etc/my.cnf中指定datadir路径,让mysql按照这个路径去找数据文件。
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql/mysql/data
[root@oracle12c mysql]# /etc/init.d/mysql.server start
Starting MySQL.
类似的如果修改了basedir,启动的时候也会报错,因为/etc/init.d/mysql.server文件中的basedir是/usr/local/mysql
,需要在/etc/my.cnf中指定basedir的路径
vim /etc/my.cnf
[mysqld]
basedir=/data/mysql/mysql
datadir=/data/mysql/mysql/data
2.安装时手动指定文件路径
vim /etc/my.cnf
[mysqld]
basedir=/data/mysql/mysql
datadir=/data/mysql/mysql/data
/bin/mysqld --initialize --user=mysql --basedir=/data/mysql/mysql --datadir=/data/mysql/mysql/data &
/etc/init.d/mysql.server start
Starting MySQL.Logging to '/data/mysql/mysql/data/oracle12c.err'.
. [ OK ]
启动成功。
3.多实例mysql配置
- 修改参数文件
vim /etc/my3307.cnf
[mysqld]
basedir=/data/mysql/mysql2
datadir=/data/mysql/mysql2/data
port=3307
socket=/tmp/mysql3307.sock
mysqlx_port=33070
mysqlx_socket=/tmp/mysql33070.sock
- 初始化
bin/mysqld --initialize --user=mysql --basedir=/data/mysql/mysql2 --datadir=/data/mysql/mysql2/data &
- 启动
bin/mysqld --defaults-file=/etc/my3307.cnf --user=mysql
- 登录
mysql -uroot -p -S /tmp/mysql3307.sock
mysql 8.0多了mysqlx_port=33070;mysqlx_socket=/tmp/mysql33070.sock 这两个参数,可以通过 show variables like '%sock%' ;show variables like '%port%'查看。
所有参数文件中也需要指定。
网友评论