天天看點

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');這句話重新設定一次密碼!

繼續閱讀