1.环境安装,遇到需要输入"YES"的输入YES即可
# 安装mysql服务端
sudo apt-get install mysql-server
# 安装mysql客户端
sudo apt install mysql-client
# 安装mysql相关依赖
sudo apt install libmysqlclient-dev
# 检查mysql当前状态
sudo netstat -tap | grep mysql
2.修改密码,我的账号密码都是root,按需更改
// 命令1
mayuhang@machine:~/study$ sudo su
// 命令2
root@machine:/home/mayuhang/study# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.33-0ubuntu0.18.04.1 (Ubuntu)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
// 命令3
mysql> select user, plugin from mysql.user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+
4 rows in set (0.00 sec)
// 命令4
mysql> update mysql.user set authentication_string=PASSWORD('root'), plugin='mysql_native_password' where user='root';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 1
// 命令5
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
// 命令6
mysql> exit
Bye
3.设置mysql权限允许远程登录
// 命令1
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
// 操作2
修改配置文件,注释掉bind-address = 127.0.0.1,在前面加#即可
先(i)键进入编辑模式,后找到bind-address = 127.0.0.1在前方加(#)即可,然后(:wq!)退出。
// 命令3
$ mysql -uroot -p
// 命令4:密码可根据自己设置的密码进行更改,IDENTIFIED BY '你的密码'
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
// 命令5
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
// 命令6
mysql> exit
Bye
// 命令7
$ sudo /etc/init.d/mysql restart
【注】
至此,我们的Ubuntu18.04已完成Mysql5.7安装的相关操作,我们可以在本机的navicat进行测试连接:
成功连接,如果出现“access denied for user 'root@'localhost'(using password:YES)”等权限问题,仍然是我们虚拟机里mysql配置权限访问的问题:
核心语句就是:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
谢谢大家!~