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