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'@'%';

其他请参见:https://www.jianshu.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都找一找,就找到了

你可能感兴趣的:(MySQL折腾)