Ubuntu 18.04 安装 MySQL 5.7【解决普通用户登录、密码修改、远程访问等问题】
生活随笔
收集整理的這篇文章主要介紹了
Ubuntu 18.04 安装 MySQL 5.7【解决普通用户登录、密码修改、远程访问等问题】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
之前在Ubuntu 16.04安裝 MySQL的時候很順利,這次在 Ubuntu 18.04 中安裝 MySQL 5.7.23 中,遇到一些坑,折騰了好久,這里做一個記錄。
1. 安裝數(shù)據(jù)庫
# 安裝 mysql-server mysql-workbench【圖形化工具】 sudo apt-get install mysql-server mysql-workbench默認情況下,在安裝 mysql-server 的時候就會安裝,mysql-client 等相關客戶端。
2. 解決本地賬戶不能直接登陸問題【含重設密碼】
初始情況下 root 賬戶沒有密碼,這時普通用戶并不能直接使用 mysql 命令直接控制臺登錄,更不能使用 mysql-workbench 直接連接登錄。主要是由于 mysql.user 這張表中 root 用戶的 plugin 字段值為 auth_socket,改為 mysql_native_password 即可。同時為了方便之后使用,我們在接下來的操作中順帶給 root 賬戶設置密碼。
# 使用 root 權限執(zhí)行 mysql 命令登錄 mysql 控制臺 sudo mysql # 查看已存在的數(shù)據(jù)庫 SHOW DATABASES; # 選中 mysql 數(shù)據(jù)庫 mysql> use mysql; # 查看 mysql 數(shù)據(jù)庫中 user 表的關鍵屬性字段 mysql> SELECT user, host, plugin, authentication_string FROM user;c# 輸出如下結果 +------------------+-----------+-----------------------+-------------------------------------------+ | user | host | plugin | authentication_string | +------------------+-----------+-----------------------+-------------------------------------------+ | root | localhost | auth_socket | | | mysql.session | localhost | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | mysql.sys | localhost | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | debian-sys-maint | localhost | mysql_native_password | *060C7F7EFE89866C2630E9C0F36C32C1D7734490 | +------------------+-----------+-----------------------+-------------------------------------------+ 4 rows in set (0.00 sec)# 更新 plugin 及 authentication_string 字段 mysql> UPDATE user SET plugin="mysql_native_password", authentication_string=PASSWORD("123456") WHERE user="root"; # 輸出以下結果 Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1# 保存更新結果 mysql> FLUSH PRIVILEGES; # 退出并重啟 mysql mysql> exit; sudo service mysql restart此時便可以在普通 Linux 賬戶下,并使用 mysql 的 root 賬戶及新設密碼“123456”,來登錄 mysql 服務。也可以使用 workbench 等工具來本地連接 mysql 。
3. 解決 root 賬戶遠程登陸問題
要想實現(xiàn)遠程登錄需要做以下操作:
3.1 保證 root 賬戶的 host 屬性字段不能是 localhost,而是可以遠程訪問的屬性值
# 登錄 mysql 服務器 mint@vm:~/桌面$ mysql -u root -p Enter password: # 這里輸入你剛才設置的密碼# 更新 root 用戶的 host 字段 更新為 % mysql> UPDATE mysql.user SET host="%" WHERE user="root";# 保存更新結果 mysql> FLUSH PRIVILEGES; # 退出并重啟 mysql mysql> exit; sudo service mysql restart3.2 修改 Mysql 的配置文件,確保 mysql 服務監(jiān)聽地址不是本機地址
# 修改 MYSQL 服務的配置 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf3.3 確保防火墻允許 3306 端口開啟
# 開啟防火墻 【PS:某些情況下 Ubuntu 可能默認的防火墻沒有開啟,這樣的話就不用關心防火墻造成的影響,但是云服務器在生產(chǎn)環(huán)境下,我們?yōu)榱税踩ǔJ情_啟防火墻的,這時候我們需要知曉該如何配置】 sudo ufw enable/disable # 開啟或者關閉防火墻 更多操作大家可以使用 ufw --help 查看# 添加允許規(guī)則 sudo ufw allow 3306/tcp# 查看已添加規(guī)則 sudo ufw status# debian 系列的防火墻軟件為 ufw, Ubuntu 是基于 debian 的,Centos 屬于紅帽系列,防火墻軟件不是 ufw,具體可以自行百度。3.4 確??梢哉B?lián)網(wǎng)【PS:好像是廢話】
之后便可以通過使用另一臺機器檢測 root 用戶是否可以正常遠程登錄,如下:
此時也可以通過在另一臺機器上使用? navicate 和 MySQL Workbench 之類的圖形工具遠程訪問。
4. 常用的額外操作:
# 查看有那些數(shù)據(jù)庫 SHOW DATABASES; # 選中使用數(shù)據(jù)庫 use databaseName # 查看數(shù)據(jù)庫中有哪些表 SHOW TABLES; # 查看表結構 SHOW COLUMNS FROM tableName; 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Ubuntu 18.04 安装 MySQL 5.7【解决普通用户登录、密码修改、远程访问等问题】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 下 yum(基于rpm的包
- 下一篇: MySQL 常用账户管理及授权操作