参考http://wiki.ubuntu.org.cn/MySQL%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97
版本为5.7
一、安装
安装命令sudo apt-get install mysql-server
但是由于存在旧版本或者卸载不干净,可能报错如下
参考https://www.linuxidc.com/Linux/2018-04/151989.htm
更新系统
sudo apt-get update
然后,修复安装错误,会提示输入mysql用户名密码
sudo apt-get --fix-broken install
之后再执行安装命令,应该可以了。
在安装过程中会要求输入密码。
二、配置
通过 mysql -u root -p 以root身份登录到数据库
通过 mysql> CREATE DATABASE rdshare; 创建数据库。
创建用户并赋予权限。
mysql>GRANT ALL PRIVILEGES ON rdshare.* TO yanjieliu@localhost IDENTIFIED BY "654321";
这样就建立了一个yanjieliu的用户,它对数据库rdshare有着全部权限。以后就用yanjieliu来对rdshare数据库进行管理,而无需要再用root用户了,而该用户的权限也只被限定在rdshare数据库中。用户密码为654321
三、设置远程登录
参考:https://zhuanlan.zhihu.com/p/45166462
重启很重要,一定要重启
.打开mysql配置文件
# 注意:不同 mysql 版本此配置文件位置和名字可能不同
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # mysql 5.7.23
#找到将bind-address = 127.0.0.1注销
#bind-address = 127.0.0.1
5.修改后,重启MySQL服务器
sudo /etc/init.d/mysql restart
6.重新登录mysql
mysql -uroot -p
## mysql>命令 begin
grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
flush privileges;
## end
exit
- 第一个*是数据库,可以改成允许访问的数据库名称
- 第二个* 是数据库的表名称,*代表允许访问任意的表
- root代表远程登录使用的用户名,可以自定义
- %代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
- password代表远程登录时使用的密码,可以自定义
7.检查MySQL服务器占用端口
netstat -nlt|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
我们看到从之间的网络监听从 127.0.0.1:3306 变成 0 0.0.0.0:3306,表示MySQL已经允许远程登陆访问。
.修改后,重启MySQL服务器,并登录
sudo /etc/init.d/mysql restart
mysql -uroot -p
mysql> SHOW VARIABLES LIKE ‘character%’;
#能够看到默认字符集已经变为utf8
exit
10.在本地远程连接
mysql -h 服务器ip地址 -P 3306 -u root -p
然后输入密码即可。
root是第6步数设置的用户名,密码也是第1点设置的密码
大功告成!