今天在华为云上安装mysql,安装命令很简单,就一行命令:sudo apt-get update && sudo apt-get install mysql-server
我安装的是mysql8.0版本,这里主要说一下安装mysql后怎么在外网连接:
1、注释掉 bind-address 和 mysqllx-bind-address,127.0.0.1表示只能本机连接,在 /etc/mysql/mysql.conf.d/mysqld.cnf 文件中:
将bind-address = 127.0.0.1 和 mysqllx-bind-address = 127.0.0.1 注释掉
添加 skip-networking = false
2、在服务器上登录mysql,执行下面命令,意思是将mysql数据库开放给外网连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
3、在华为云上配置 入方向规则 ,如果有redis等应用也需要在这里配置:
4、在服务器上登录mysql,切换到mysql数据库,select user,host from user; 如果用户root的host是localhost则需要改成%:update user set host = '%' where user = 'root'; 否则外网也不能连接,正常情况下应该就是%;
经过以上三步应该就可以连上远程的mysql数据库了;
不同版本的my.cnf不一样,8.0版本的my.cnf是引入的两个文件夹,配置在文件夹中,5.7版本的配置直接写在/etc/my.cnf中,根据实际需要修改配置;
mysql数据库(5.7)忘记root密码解决方案:在 /etc/my.cnf 中添加 skip-grant-tables,然后重启mysql就可以不要密码 mysql -u root 登录了,登录后修改root密码:update mysql.user set authentication_string=password('123456') where user='root';
停止mysql:service mysqld stop
启动mysql:service mysqld start
查看mysql版本:select version();