服务器安装mysql
sudo apt-get install mysql-server #服务端
sudo apt-get install mysql-client #客户端
sudo apt-get install libmysqlclient-dev #客户端api
启动服务
sudo service mysql start
mysql初始化设置
sudo mysql_secure_installation
依次进行如下几步:
- 是否设置随机密码,Y/y是,其余否
- 是否删除匿名用户,Y/y是,其余否
- 是否禁止远程root登陆,Y/y是,其余否
- 是否删除test数据库,Y/y是,其余否
- 是否重新加载权限表,Y/y是,其余否
我的设置:N,Y,Y,Y,Y
修改mysql配置文件
网上很多都是修改/etc/mysql/my.cnf
,但是我的服务器上需要修改的是/etc/mysql/mysql.conf.d/mysqld.cnf
sudo vim mysqld.cnf
#在vim下搜索bind,找到bind-address,注释掉
/bind #搜索
bind-address表示允许登陆ip,默认为127.0.0.1
为了实现远程登陆,我们必须将其注释掉
修改完后重启mysql服务
sudo service mysql restart
添加远程登陆用户
有的博客上选择将root设置为远程登陆,因为前两天一个同学的云服上的数据库被黑了,我为了安全起见只添加了一个可远程登陆的用户
登陆mysql
sudo mysql -u root -p '密码'
添加用户
mysql>GRANT ALL ON *.* TO '用户名'@'%' IDENTIFIED BY '密码'; # 添加允许远程登陆(host为%)的用户
mysql>FLUSH PRIVILEGES; # 更新权限
查看修改之后的权限
mysql>USE mysql;
mysql>SELECT host, user FROM user;
设置腾讯云服务器的3306端口
我一开始在这里卡了一年!!
我的服务器默认是没有3306端口的,导致我远程登陆的时候一直爆2003
错误码
具体操作:
创建成功后,在Windows10系统下的shell测试端口
ping 服务器ip
telnet 服务器ip 3306
如果telent出现未知指令问题,需要修改Windows配置
找到telnet,勾选确认后即可
然后就可以在本地shell登陆服务器上的mysql了~