如果我们在安装mysql数据库时不小心把路径与端口都不是我们要想的那么要如何修改呢?下面一起来看看linux中更改MySQL数据库存储路径和端口吧.
linux中更改MySQL数据库存储路径和端口,假设我们以更改到/opt/data目录下为例.
1、opt目录下建立data目录:mkdir /opt/data
2、停掉MySQL服务进程:mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/opt/data:mv /var/lib/mysql /opt/data/
这样就把MySQL的数据文档移动到了/opt/data/mysql下.
4、my.cnf文档配置
默认安装时my.cnf在 /etc目录下,如果是源码包安装时,也有可能没将配置文件放在这个目录下,这时我们需要复制一份:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
我这里是rpm包安装的默认位置为例.
5、编辑MySQL的配置文档/etc/my.cnf
为确保MySQL能够正常工作,需要指明mysql.sock文档的产生位置,修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/opt/mysql/mysql.sock ,操作如下:
- vi /etc/my.cnf
- #TheMySQLserver
- [mysqld]
- port =3306
- #socket =/var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
- socket =/opt/data/mysql/mysql.sock (加上此行)
6、修改MySQL启动脚本/etc/init.d/mysql
最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成您现在的实际存放路径:opt/data/mysql。
注:有些版本中还需要修改/usr/bin/mysqld_safe文件中的目录位置,最后做一个mysql.sock 链接:
ln -s /opt/data/mysql/mysql.sock /var/lib/mysql/mysql.sock
客户端连接时需要到,也可以在my.cnf中配置,这里省略这一步.
7、重新启动MySQL服务.
- chown-Rmysql:mysql/opt/data/mysql/ ←改变数据库的归属为mysql
- chmod700/opt/data/mysql/test/ ←改变数据库目录属性为700
- chmod660/opt/data/mysql/test/* ←改变数据库中数据的属性为660
- /etc/init.d/mysql start--phpfensi.com
更改端口一样,仅需要修改/etc/my.cnf文件的中的port=3306的内容为新的端口号就行了,不过改完重启时有时候仍会无法启动.
- MySQLDaemonfailedtostart.
- Startingmysqld:
- [FAILED]
查看日志为:[ERROR] Can't start server: Bind on TCP/IP port: Permission denied
此时只需要运行下面的命令即可:
setenforce 0
该问题是因为selinux防火墙的权限问题造成的.
补充:windows 服务器修改mysql数据库位置与端口
一.首先把mysql的服务先停掉。
二.更改MySQL配置文件My.ini中的数据库存储主路径
打开MySQL默认的安装文件夹C:\Program Files\MySQL\MySQL Server 5.1中的my.ini文件,点击记事本顶部的“编辑”,“查找”,在查找内容中输入datadir后并点击“查找下一个”转到“Path to the database root数据库存储主路径”参数设置,找到datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/"即是默认的数据库存储主路径设置,现将它改到C:\mysql\data(你希望的)文件夹,正确的设置是datadir="C:/mysql/data/"。
更改完成后点击菜单栏的“文件”,再点击“保存”.
三.将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径.
将C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/文件夹中的所有文件和文件夹拷贝到你新建的文件夹目录下,最后重启了.