Ubuntu20.04mysql8.0数据库安装1、数据库安装MySQL数据库安装:
更新来源:
sudo apt update安装mysql服务。
sudo apt install mysql-server安装完成后,mysql服务将自动启动。 确认mysql是否正常工作:
sudo systemctl status mysql输出以下结果,指示mysql服务正在正常运行
MySQL.service-mysqlcommunityserverloaded : loaded (/lib/systemd/system/MySQL.service; 启用厂商预置:活动:活动(运行) since sat 2021-11-0609336037336036 CST; 3 min 22 sagomainpid :36265 (mysqld ) status : ' serverisoperational '2.设置密码:
MySQL安装成功后,您可以运行mysql_secure_installation脚本来设置MySQL服务根目录的初始密码。
调用脚本:
sudo mysql_secure_installation 按照系统提示,按要求执行步骤。
步骤设置验证密码组件:输入y
步骤选择root密码级别。 密码强度分为低、中、高三个等级
步骤3 :设置根用户的密码
步骤4 (删除匿名用户、限制根用户对计算机的访问、删除测试数据库、重新加载权限表等选项都只需按y键
3 .配置远程访问:
将绑定地址的值更改为0.0.0.0
重新启动sudo vim/etc/MySQL/MySQL.conf.d/mysqld.cnfmysql服务
sudo /etc/init.d/mysql restart 4.登录:
第一,直接登录。 (从MySQL 8.0版开始,auth_socket默认情况下通过插件验证root用户,这样无需输入密码即可直接登录。 )
sudo mysql之二:输入密码登录可提高安全性
如果要使用外接程序以root用户身份登录MySQL-uroot-pMySQL服务,则必须更改身份验证方法,将auth_socket更改为mysql_native_password。 在mysql服务上运行以下两行命令来完成:
警报用户' root ' @ ' localhost ' identifiedwithmysql _ native _ password by '密码'; FLUSH PRIVILEGES; 如果发生以下错误:
错误1819 (hy 000 ) : yourpassworddoesnotsatisfythecurrentpolicyrequirements解决方案:
错误原因: requirements密码策略不符合要求。
以下命令显示密码策略。
showvariableslike ' validate _ password % '; -----------|variable _ name-------------value|value | validate _ password.lictionary1||validate _ password.number _ count|1|| validate _ password.policy|medium
validate_password.length :最小密码长度,默认值为8,将其更改为6
set global validate _ password.length=6; validate_password.policy :验证密码的复杂性,并将其更改为0
set global validate _ password.policy=0; validate _ password.check _ user _ name :用户名检查,用户名和密码不能相同,关闭
set global validate _ password.check _ user _ name=off; 二.设置root帐户允许远程访问mysql
sudo mysql -uroot -p你的密码更改加密规则
alter user ' root ' @ ' localhost ' identified by ' password ' passwordexpirenever; 使用mysql_native_password重新更改密码
警报用户' root ' @ ' localhost ' identifiedwithmysql _ native _ password by '新密码'; 允许远程访问
update MySQL.userset host=' % ' where user=' root '; 更新访问权限
FLUSH PRIVILEGES; 三.添加用户权限,设置远程访问创建用户,设置密码
create user ' admin ' @ ' % ' identifiedwithmysql _ native _ password by '您的密码'; 远程权限设置
grantallprivilegeson *.* to ' admin ' @ ' % ' withgrantoption;