MySQL是一个开源数据库管理系统。它使用关系数据库和SQL(结构化查询语言)来管理其数据。本教程将解释如何在Ubuntu 18.04服务器上安装MySQL版本5.7。因为MySQL 5.7版本采用了全新安装机制,改善了MySQL的安全性,所以导致一些和以前安装不太一样。比如:root密码设置放置到了安装完成之后的安全设置中来(这个坑我爬了半天… …),还有一些其他的安全设置等。

1.安装 mysql

在Ubuntu 18.04上,默认情况下,只有最新版本的 MySQL 包含在APT软件包存储库中。目前来说是MySQL 5.7。

首先在安装之前需要更新服务器上的软件包索引然后才能使用apt安装默认软件包:

su root
apt update
apt install mysql-server

接下来便会开始安装MySQL,但这里不会提示设置密码或进行任何其他配置更改。(这里与我在ubuntu 16.04上安装不一样。从网上查阅资料得知:因为这会使MySQL的安装不安全,目前已经使用在安装后执行安全设置来代替这一点)

2.配置MySQL

对于全新的安装模式,需要首先运行附带的安全脚本,这样才能进行接下来的数据库访问。 这改变了一些不太安全的默认选项,例如远程root登录和示例用户。 在旧版本的MySQL中,是需要手动初始化数据目录,但现在会自动完成。

# 重启 MySQL 服务以保证 MySQL 已经启动
sudo service mysql restart
# 输出为
root@58e152781375:/home/kala# sudo service mysql restart
 * Stopping MySQL database server mysqld                                          [ OK ]
 * Starting MySQL database server mysqld  
运行安全脚本:
mysql_secure_installation

接下来将会通过一系列提示来对MySQL安装的安全选项进行一些更改(这一步非常重要):

首先便是要求设置root用户的密码:
在成功设置root密码之后还会有一系列的一些安全设置:

#是否需要 MySQL 帮你检查密码强度(我们推荐回答需要,即 Y)
Press y|Y for Yes, any other key for No: Y
#选择哪种强度的密码 0 = 低强度,1 = 中等强度, 2 = 强密码 (我们建议选择0,正式环境请提高等级)
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0

Please set the password for root here.
New password:
Re-enter new password:

Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
#删除匿名用户
Remove anonymous users? (Press y|Y for Yes, any other key for No) : n 
#不允许远程 root 登录    
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n
#删除默认数据库
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y  
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y   
All done! 

修改mysql权限

mysql -u root -p

#降低密码等级
show variables like "%validate%";
set global validate_password_length=6;
set global validate_password_policy=0;
#修改root密码方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
#退出
exit;

设置远程连接

需要设置 mysql 数据库支持外部或者远程访问,则需要把绑定 IP 地址改为 0.0.0.0,或者不写IP地址。因此编辑配置文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

修改绑定地址为 0.0.0.0。原来默认绑定 127.0.0.1 注释掉

bind-address = 0.0.0.0
#bind-address = 127.0.0.1

另外需要进入 MySQL 程序修改 root 账户的远程访问的权限。如果这一步不执行,则远程用 Navicat 访问时,会报 1130 错误。

sudo mysql -u root -p

进入 MySQL 以后输入

#mysql5.7
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;
#mysql8
update user set host='%' where user='root';

同时刷新权限

flush privileges;

修改完 mysqld.cnf 文件有最好重新启动服务器。

service mysql restart

最终就完成了 MySQL 的安装与远程访问设置。

Last modification:August 10th, 2020 at 04:31 pm
如果觉得我的文章对你有用,请随意赞赏