MySQL折騰

防止自己忘記怎么部署的了

一、安裝

這臺破服務器沒有連外網,只能通過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
  1. 從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都找一找,就找到了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。