环境信息:
OS:Ubuntu18.04
MySQL: 5.7.22
安装MYSQL
在Ubuntu中,默认情况下,只有最新版本的MySQL包含在APT软件包存储库中,要安装它,只需更新服务器上的包索引并安装默认包apt-get。
#命令1
sudo apt-get update
#命令2
sudo apt-get install mysql-server
初始化配置
sudo mysql_secure_installation
具体配置项如下:
#1VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key forNo: N (我的选项)
#2Please set the passwordforroot here...
New password: (输入密码)
Re-enter new password: (重复输入)
#3By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account createdforthem...
Remove anonymous users? (Press y|Y for Yes, any other key forNo) : N (我的选项)
#4Normally, root should only be allowed to connect from'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow rootlogin remotely? (Press y|Y for Yes, any other key forNo) : Y (我的选项)
#5By default, MySQL comes with a database named'test'that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key forNo) : N (我的选项)
#6Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (我的选项)
检查mysql服务状态
systemctl status mysql.service
配置远程访问
在Ubuntu下MySQL缺省是只允许本地访问的,使用客户端连接工具是连不上的;
如果你要其他机器也能够访问的话,需要进行配置;
步骤如下:
sudo mysql -uroot -proot
grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;
使用客户端工具尝试连接,如果连不上:
查看3306端口是否开启:
netstat -an|grep 3306
由此可见,3306端口只是在IP 127.0.0.1上监听,所以拒绝了其他IP的访问。
解决方法:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
把其中的bind-address = 127.0.0.1直接注释掉。
重启mysql服务
sudo service mysql restart
客户端连接测试成功。