欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

方式1: [root@DB-Server ~]# service mysql statusMySQL running

点击: 次  来源:劳务派遣管理系统 时间:2018-11-03

原文出处: 潇湘隐者

MySQL数据库默认的数据库文件位于 /var/lib/mysql 下,昆山软件开发,有时候由于存储筹划等原因,需要变动 MySQL 数据库的数据存储目次。下文总结整理了实践进程的操纵步调。

1 确认MySQL数据库存储目次

[root@DB-Server tmp]# mysqladmin -u root -p variables | grep datadir
Enter password: 
| datadir | /var/lib/mysql/

2 封锁MySQL处事

在变动MySQL的数据目次前,必需封锁MySQL处事。

方法1:

[root@DB-Server ~]# service mysql status
MySQL running (9411)[ OK ]
[root@DB-Server ~]# service mysql stop
Shutting down MySQL..[ OK ]
[root@DB-Server ~]#

 方法1: [root@DB-Server ~]# service mysql statusMySQL running (9411)[ OK ][root@DB-Server ~]# service mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 方法2: [root@DB-Server ~]# /etc/rc.d/init.d/mysql statusMySQL running (8900)[ OK ] <a href=昆山软件开拓 [root@DB-Server ~]# /etc/rc.d/init.d/mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 3 建设新的数据库存储目次 [root@DB-Server ~]# cd /u01[root@DB-Server u01]# mkdir mysqldata 4 移动MySQL数据目次到新位置 [root@DB-Server ~]# mv /var/lib/mysql /u01/mysqldata/ 5 修改设置文件my.cnf 并不是所有版本都包括有 my.cnf 这个设置文件" class="aligncenter size-full wp-image-30416" title="271523353339115" src="/uploads/allimg/c181103/15411X911Q040-14245.png" />

方法2:

[root@DB-Server ~]# /etc/rc.d/init.d/mysql status
MySQL running (8900)[ OK ]
[root@DB-Server ~]# /etc/rc.d/init.d/mysql stop
Shutting down MySQL..[ OK ]
[root@DB-Server ~]#

3 建设新的数据库存储目次

[root@DB-Server ~]# cd /u01
[root@DB-Server u01]# mkdir mysqldata

4 移动MySQL数据目次到新位置

[root@DB-Server ~]# mv /var/lib/mysql /u01/mysqldata/

5 修改设置文件my.cnf

并不是所有版本都包括有 my.cnf 这个设置文件,在 MySQL 5.5 版本,我就找不到 my.cnf 这个设置文件, 而有些 MySQL 版本该文件位于 /usr/my.cnf,假如 /etc/ 目次下没有 my.cnf 设置文件,昆山软件开发,请到 /usr/share/mysql/ 下找到 *.cnf 文件,拷贝个中一个到 /etc/ 并更名为 my.cnf 中。呼吁如下:

 方法1: [root@DB-Server ~]# service mysql statusMySQL running (9411)[ OK ][root@DB-Server ~]# service mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 方法2: [root@DB-Server ~]# /etc/rc.d/init.d/mysql statusMySQL running (8900)[ OK ] <a href=昆山软件开拓 [root@DB-Server ~]# /etc/rc.d/init.d/mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 3 建设新的数据库存储目次 [root@DB-Server ~]# cd /u01[root@DB-Server u01]# mkdir mysqldata 4 移动MySQL数据目次到新位置 [root@DB-Server ~]# mv /var/lib/mysql /u01/mysqldata/ 5 修改设置文件my.cnf 并不是所有版本都包括有 my.cnf 这个设置文件" class="aligncenter size-full wp-image-30417" title="271523368333374" src="/uploads/allimg/c181103/15411X911V3F-21144.png" />

[root@DB-Server mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

编辑 /etc/my.cnf 文件,修改参数 socket

 方法1: [root@DB-Server ~]# service mysql statusMySQL running (9411)[ OK ][root@DB-Server ~]# service mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 方法2: [root@DB-Server ~]# /etc/rc.d/init.d/mysql statusMySQL running (8900)[ OK ] <a href=昆山软件开拓 [root@DB-Server ~]# /etc/rc.d/init.d/mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 3 建设新的数据库存储目次 [root@DB-Server ~]# cd /u01[root@DB-Server u01]# mkdir mysqldata 4 移动MySQL数据目次到新位置 [root@DB-Server ~]# mv /var/lib/mysql /u01/mysqldata/ 5 修改设置文件my.cnf 并不是所有版本都包括有 my.cnf 这个设置文件" class="aligncenter size-full wp-image-30418" title="271523380524845" src="/uploads/allimg/c181103/15411X91191L0-35933.png" />

MySQL 5.5 版本

# The following options will be passed to all MySQL clients
[client]
#password       = your_password
port            = 3306
socket          = /u01/mysqldata/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port            = 3306
socket          = /u01/mysqldata/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

 方法1: [root@DB-Server ~]# service mysql statusMySQL running (9411)[ OK ][root@DB-Server ~]# service mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 方法2: [root@DB-Server ~]# /etc/rc.d/init.d/mysql statusMySQL running (8900)[ OK ] <a href=昆山软件开拓 [root@DB-Server ~]# /etc/rc.d/init.d/mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 3 建设新的数据库存储目次 [root@DB-Server ~]# cd /u01[root@DB-Server u01]# mkdir mysqldata 4 移动MySQL数据目次到新位置 [root@DB-Server ~]# mv /var/lib/mysql /u01/mysqldata/ 5 修改设置文件my.cnf 并不是所有版本都包括有 my.cnf 这个设置文件" class="aligncenter size-full wp-image-30419" title="271523392702019" src="/uploads/allimg/c181103/15411X91193G0-49529.png" />

6 修改启动剧本 /etc/init.d/mysql

将参数 datadir 修改为 datadir=/u01/mysqldata/mysql/

 方法1: [root@DB-Server ~]# service mysql statusMySQL running (9411)[ OK ][root@DB-Server ~]# service mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 方法2: [root@DB-Server ~]# /etc/rc.d/init.d/mysql statusMySQL running (8900)[ OK ] <a href=昆山软件开拓 [root@DB-Server ~]# /etc/rc.d/init.d/mysql stopShutting down MySQL..[ OK ][root@DB-Server ~]# 3 建设新的数据库存储目次 [root@DB-Server ~]# cd /u01[root@DB-Server u01]# mkdir mysqldata 4 移动MySQL数据目次到新位置 [root@DB-Server ~]# mv /var/lib/mysql /u01/mysqldata/ 5 修改设置文件my.cnf 并不是所有版本都包括有 my.cnf 这个设置文件" class="aligncenter size-full wp-image-30420" title="271523410522362" src="/uploads/allimg/c181103/15411X9119C60-54B6.png" />

7 启动MySQL处事并验证MySQL数据库路径

[root@DB-Server ~]# service mysql start
Starting MySQL..[  OK  ]
[root@DB-Server ~]# mysqladmin -u root -p variables | grep datadir
Enter password: 
| datadir        | /u01/mysqldata/mysql/

我的疑问

1 在修改数据库的存储目次前,/var/lib/mysql/ 目次下基础没有 mysql.sock 文件,安装上面设置后,就会生成 mysql.sock 文件。

关于 mysql.sock 文件,搜索了一下资料:mysql.sock 是用于 socket 毗连的文件。也就是只有你的守护历程启动起来这个文件才存在。可是你的 mysql 措施(这个措施是客户端,处事器端是 mysqld)可以选择是否利用 mysql.sock 文件来毗连(因为这个要领只适合在 Unix 主机上面毗连当地的 mysqld),对付非当地的任何范例的主机。
那么这个文件是否必然需要的呢? 这个需要进一步相识清楚。

2 我在网上看有些网友总结的修改 MySQL 数据路径,劳务派遣管理系统,有些需要给新建的目次的权限做一些处理惩罚,而有些有不消对目次权限举办授权,我没有处理惩罚,也没有什么问题。到底要不要对新的数据库目次授权呢?

3 我在 MySQL_5.6.20 这个版本测试时,不修改 my.cnf,只修改启动剧本 /etc/init.d/mysql,也完全没有啥问题。也没有 myssql.sock 文件生成。

4 留意假如没有禁用 SElinux,修改MySQL的数据路径后启动MySQL处事会碰着一些错误。关于这个的表明是靠山处事都需要有对相应目次的对应权限,而 mysql 的默认路径 /var/lib/mysql 已经添加了相应的计策,修改路径后由于没有相应的计策,导致靠山历程读取文件被 SElinux 阻止,从而呈现权限错误。 所以要么封锁 SElinux 或修改文件安详上下文。

[root@DB-Server mysql]# /etc/init.d/mysql start
Starting MySQL....The server quit without updating PID file (/u01/mysqldata/mysql//DB-Server.localdomain.pid).[FAILED]
[root@DB-Server mysql]# 
[root@DB-Server mysql]# chcon -R -t mysqld_db_t /u01/mysqldata/mysql/
[root@DB-Server mysql]# /etc/init.d/mysql start
Starting MySQL.[ OK ]

参考资料

  • http://database.ctocio.com.cn/tips/449/7566949.shtml
  • www.linuxidc.com/Linux/2012-12/75647.htm
  • http://blog.csdn.net/hellyhe/article/details/8309470