防止自己忘記怎么部署的了
一、安裝
這臺破服務器沒有連外網,只能通過scp將本地的deb文件傳上去然后再裝。
1 . 為了防止安裝出現錯誤,首先完整清除mysql的痕跡
參考 https://askubuntu.com/questions/640899/how-do-i-uninstall-mysql-completely
sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql-server mysql-client
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld
updatedb
exit
- 從MySQL官網下載所有的指定系統版本的community包,傳到服務器上,然后
sudo dpkg -i *
二、配置root
上來應該會提醒root沒有訪問權限之類的
# 修改root的密碼,如果安裝時已經指定root密碼了。跳過這一步
sudo mysqladmin -uroot -p password
# 通過root密碼登錄root
sudo mysql -u root -p
三、配置用戶
總不能天天掛著root到處浪吧???
/*
username替換為自定義的用戶名
%可以替換為指定ip地址,%代表任意地址
passwd替換為自定義的密碼
*/
CREATE USER 'usrname'@'%' IDENTIFIED BY 'passwd';
-- 新建一個數據庫,如果需要多個,就新建多個
CREATE DATABASE database;
/*
授權
ALL可替換為指定的權限,按理說普通用戶不用這么大的權限
database為自定義的數據庫名,注意包裹這個數據庫名稱的不是單引號,是tab上邊,1坐標的那個東東
然后是用戶名和ip地址
*/
GRANT ALL ON `database`.* TO 'username'@'%';
其他請參見:http://www.lxweimin.com/p/d7b9c468f20d
具體MySQL的權限種類,請參見https://dev.mysql.com/doc/refman/5.7/en/grant.html
四、遠程訪問權限
- 5.7以前:直接找到my.cnf文件,其中有一行bind-address=127.0.0.1,直接注釋掉,然后重啟就好
- /etc/mysql/my.cnf (debia/ubuntu)
- /etc/my.cnf (CentOS) - 5.7:先打開my.cnf看一下,通常包含兩個!include path,然后分別到那兩個文件夾底下看一下,如果有mysqld.cnf就對了,直接如上一條,直接注釋掉bind-address
- MariaDB:同5.7,應該是在mariadb.conf.d/50-server.cnf里
然后重啟,sudo servie mysql restart
其他重啟的方法,參見https://www.2daygeek.com/start-stop-restart-enable-reload-mysql-mariadb-server-service-in-linux/
當然,如果不想注釋,把ip改為0.0.0.0也行,這個也代表是不設限制
基本上就這么說,bind-address這個設置一定會有的,當在my.cnf里變找不到的時候,就把mysql文件夾底下的cnf都找一找,就找到了