安装MySQL
参考信息
- Ubuntu:V18.04 https://www.jianshu.com/p/4583aebf247a
- Ubuntu:V20.04 MySQL8.X版本开放root远程连接(Ubuntu20)
安装思路
1. 安装命令
sudo apt update
sudo apt install mysql-server
2. 开启远程连接
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将31行进行注释或者修改为0.0.0.0
4. 初始化MySQL配置信息
sudo mysql_secure_installation
VALIDATE PASSWORD COMPONENT…(使用密码强度校验组件)输入:n
New Password:(设置新密码,并重复一遍)
Remove anonymous users (删除匿名用户) n
Disallow root login remotely(拒绝远程root账号登录) n
Remove test database and access to it(移除test数据库) n
Reload privilege tables now (现在就重新载入权限表) y
5. 重新启动MySQL
service mysql restart
修改远程登录
进入MySQL
sudo mysql -u root -p # 登录
use mysql;
update user set host='%' where user='root'; # 修改成可远程登录
FLUSH PRIVILEGES; # 刷新权限(大小写都可以)
忘记mysql root密码
参考:https://blog.csdn.net/luckytanggu/article/details/80251833
1. 停止mysql服务
$ service mysql stop
2. 修改文件
- 修改my.cnf文件
# 修改my.cnf文件,在文件新增 skip-grant-tables,在启动mysql时不启动grant-tables,授权表
$ sudo vim /etc/mysql/my.cnf
# 添加下面的内容
[mysqld]
skip-grant-tables
- 修改mysqld.cnf文件
# 注意:不同 mysql 版本此配置文件位置和名字可能不同
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 找到将bind-address = 127.0.0.1注销
3. 启动mysql服务
$ service msyql restart
4. 更改mysql root用户密码
$ mysql
# 选择mysql数据库
mysql> use mysql;
# root用户使用mysql_native_password插件
mysql> UPDATE msyql.user SET plugin='mysql_native_password' WHERE User='root';
# 更改或者添加user表中root用户密码,如果报错就用ALTER语句(ALTER USER 'test'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';)
mysql> update mysql.user set mysql_native_password=PASSWORD("123456") where user='root';
# 允许远程登录
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql> flush privileges;
# 注意:可能不同的数据库版本密码的字段名称不一样
# 我的数据库版本是5.7.21,user表中的密码字段是:authentication_string
mysql> select version();
+-------------------------+
| version() |
+-------------------------+
| 5.7.21-0ubuntu0.16.04.1 |
+-------------------------+
1 row in set (0.00 sec)
# 可以通过以下命令查看user表的密码字段名称
mysql> show create table userG;
5.再次修改my.cnf文件
$ sudo vim /etc/mysql/my.cnf
# 进行注释,关闭免密码登录
[mysqld]
# skip-grant-tables
6. 再次重启mysql
$ service mysql restart
# 现在我们可以用新root密码登录mysql了
$ mysql -u root -p