更新软件包:
sudo apt update
查看可用软件包:
sudo apt search mysql-server
安装最新版本:
sudo apt install -y mysql-server
或者,安装指定版本:
sudo apt install -y mysql-server-8.0
注:在安装过程中可能会提示设置 MySQL 的密码,?确保密码足够强,务必记住密码**? ,后面会用到!
启动 MySQL:
sudo systemctl start mysql
设置为开机自启:
sudo systemctl enable mysql
查看 MySQL 的状态:
sudo systemctl status mysql
登陆 MySQL:
mysql -uroot -p
注:如果在安装过程中没有让设置密码,那么执行这一步后会显示 *Enter
*?Password
? ,此时按下回车键将会自动登录到 MqSQL 的控制台。
设置 MySQL 登陆密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
刷新缓存:
flush privileges
执行完以上步骤后,就可以在本地使用 MySQL 数据库了。
注意事项:
MySQL 默认的端口是 3306,如果只是在本地使用,确保系统防火墙开放了 3306 端口,检查方式如下:
查看 3306 端口是否开放(我的是已经开放了的):
netstat -an | grep 3306
检查 ufw 是否是开启状态:
sudo ufw status
如果 ufw 未安装则执行以下命令安装:
sudo apt-get install ufw
开放 3306 端口:
sudo ufw allow 3306/tcp
如果是云服务器,确保该端口在服务器的安全组中是开放,以华为云服务器为例,安全组中开放 3306 端口,如下图所示:
远程连接修改配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address,将 127.0.0.1
?改成 0.0.0.0
?,表示允许所有 IP 连接,如下图所示:
?重启 MySQL:
sudo /etc/init.d/mysql restart
开启 root 用户的远程连接权限,执行以下四步:
登录 MySQL
mysql -u root -p
切换到 mysql
?库
use mysql;
给 root 用户设置远程连接权限,其中的 % 就代表所有 IP 都可以连接,当然你也可以将 % 替换为指定可连接的 IP
update user set host='%' where user='root' and host='localhost';
更改 root 授权方式为使用密码进行验证(MySQL8.0 以后的版本更改了 root 账户的授权方式,默认是 auth_socket。也就是说需要需要通过 unix socket 文件来验证所有连接到 localhost 的用户,不能使用密码登录的方式了)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '登录密码';
刷新缓存
flush privileges;
退出 MySQL 控制台
exit;
?