天天看点

mysql修改存储位置及开启远程

1、 把MySQL服务进程停掉:(整个过程请注意备份。把selinux关掉!) 

2、 把/var/lib/mysql整个目录移到/data/mysql

3、 找到my.cnf配置文件

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/data/mysql/mysql.sock 。操作如下:

vi  my.cnf  (用vi工具编辑my.cnf文件,找到下列数据修改之)# The MySQL server[mysqld]  port = 3306#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)socket  = /data/mysql/mysql.sock (加上此行)

4、 修改MySQL启动脚本/etc/init.d/mysql

vi /etc/init.d/mysql#datadir=/var/lib/mysql(注释此行)datadir=/home/data/mysql (加上此行)

如果是CentOS还要改 /usr/bin/mysqld_safe 相关文件位置;

最后 做一个mysql.sock 链接:

in -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock

5、7、重新启动MySQL服务

/etc/init.d/mysqld start

或用reboot命令重启Linux

如果工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。 

复制内容到剪贴板

Selinux尽量关掉

/etc/selinux/config

允许ubuntu下mysql远程连接

第一步:

vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1

注释掉这行,如:#bind-address = 127.0.0.1

或者改为: bind-address = 0.0.0.0

允许任意IP访问;

或者自己指定一个IP地址。

重启 MySQL:sudo /etc/init.d/mysql restart

第二步:

授权用户能进行远程连接

   grant all privileges on *.* to root@"%" identified by "password" with grant option;

   flush privileges;

   第一行命令解释如下,*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码。

   第二行命令是刷新权限信息,也即是让我们所作的设置马上生效。

MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决

mysql>  SET PASSWORD = PASSWORD('123456');

Query OK, 0 rows affected (0.03 sec)

mysql> create database roger;

Query OK, 1 row affected (0.00 sec)

也就是用mysql>  SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!

继续阅读