安裝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 user\G;
5.再次修改my.cnf文件
$ sudo vim /etc/mysql/my.cnf
# 進行注釋,關閉免密碼登錄
[mysqld]
# skip-grant-tables
6. 再次重啟mysql
$ service mysql restart
# 現在我們可以用新root密碼登錄mysql了
$ mysql -u root -p