Linux下普通用户安装mysql8.0.13及设置初始密码

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/lyl0724/article/details/84035308

各个历史版本下载地址:https://downloads.mysql.com/archives/community/
最新版本下载地址:https://dev.mysql.com/downloads/mysql/

mysql8.0.13下载

xz -d mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar
mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql
mkdir ./mysql/data
mkdir ./mysql/log
chown -R app:apps ./mysql
./mysql/bin/mysqld --initialize --user=app --basedir=/data/projects/mysql --datadir=/data/projects/mysql/data/
如果报错:

./mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

就安装:

yum install  libaio-devel.x86_64

初始化过程会有这么一行后面有初始密码

"A temporary password is generated for root@localhost: AeS83<j8>H&e

touch /data/projects/mysql/config/my.cnf

[client]
port=3306
socket=/data/projects/mysql/mysql.sock

[mysqld]
port=3306
user=mysql
socket=/data/projects/mysql/mysql.sock
basedir=/data/projects/mysql
datadir=/data/projects/mysql/data

启动mysql,这种方式需要vim /etc/my.cnf设置上面的配置
./support-files/mysql.server start
修改初始密码
./bin/mysql_secure_installation
用修改的密码登录验证
./bin/mysql -uroot -pXXXX
停止mysql
./support-files/mysql.server stop

指定配置,前台启动
/data/projects/mysql/bin/mysqld --defaults-file=/data/projects/mysql/config/my.cnf --basedir=/data/projects/mysql --datadir=/data/projects/mysql/data --user=app --log-error=/data/projects/mysql/log/mysqld_error.log --pid-file=/data/projects/mysql/mysqld.pid --socket=/data/projects/mysql/mysql.sock

如果安装过程报错,可能缺少依赖,这时需要root权限安装依赖包
sudo rpm -ivh lib64numa1-2.0.3-4-mdv2011.0.x86_64.rpm

依赖包下载

设置远程连接
改表法
use mysql;
update user set host=’%’ where user=‘root’;
如果使用Navicat连接mysql 8.0.11 报 “2059 - authentication plugin ‘caching_sha2_password’ …”

解决办法:
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘密码’;

出现密码不符合规则解决办法:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
1、查看 mysql 初始的密码策略
SHOW VARIABLES LIKE ‘validate_password%’;
2、设置密码的验证强度等级
set global validate_password.policy=LOW;
3、重新
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘密码’;

猜你喜欢

转载自blog.csdn.net/lyl0724/article/details/84035308