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');這句話重新設置一次密碼!
轉載于:https://blog.51cto.com/houzhibo/1597821
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql修改存储位置及开启远程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 6.4 Heartbeat
- 下一篇: OSChina 周五乱弹 —— 静静的思