先交代下我用的Linux版本 CentOS Linux release 7.6.1810 (Core)
当时我不知道是红帽的然后随便挑了个mysql下载然后没用。。。
说一下闲话。。。
安装mysql搞了这么久,我是真的菜鸡。
安装mysql借鉴了两个博客
1、https://www.jb51.net/article/148509.htm
2、https://ken.io/note/centos-mysql8-setup
中间出现的问题参照了一堆网站尝试了,然后没有做保留,不好意思。。。
一开始我是使用的包的方式进行安装的,后来没成功。问题还没懂....这个再说。
然后我采用的路径安装的
中间出现过大大小小的问题。
那么开始:
步骤:
1、下载/安装
2、测试连接
------------------------------------------------------------------------------------------------------
1、下载/安装
需要先更新系统包,我记得我刚开始没更新然后导致有些命令好像用不了。
1.sudo yum update
2.wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
3.rpm -ivh mysql80-community-release-el7-3.noarch.rpm
4.yum install mysql-community-server
这样我们的mysql就安装好了。
#启动服务
sudo systemctl start mysqld
2、测试连接
2.1修改登录密码(两种方式,2.1.2有点忘了。)
2.1.1首先我们需要通过日志文件查看安装时给定root密码
查看命令: sudo grep 'temporary password' /var/log/mysqld.log
2.1.1.1进入mysql进行修改密码
mysql -u root -p
输入密码;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your passowrd';
密码规范不少于12字符,必须包含大写字母、小写字母、数字和特殊字符。
例:ALTER USER 'root'@'localhost' IDENTIFIED BY 'Tj517132697@outlook.com';
如果出现:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这种错误的话,请使用以下解决方式
ALTER USER 'root'@'localhost' IDENTIFIED BY '26823dsui2Hq12';
show variables like 'validate_password%';
set global validate_password.length = 0;
set global validate_password.special_char_count = 0;
set global validate_password.mixed_case_count =0;
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个 validate_password_special_char_count:特殊字符至少1个
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
最后我们再改成简单的密码
2.1.2我们可以通过在mysql配置文件中加入skip-grant-tables(记得一定要放在[mysqld]下面)
打开my.cnf ----- vi /etc/my.cnf
按键盘i进行修改,修改后esc退出,shift+:输入wq!保存
然后直接输入mysql就能进入mysql数据库。
2.2创建用户
# 创建本地用户
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
# 新建远程用户
CREATE USER 'user'@'%' IDENTIFIED BY 'password';
# 新建数据库
CREATE DATABASE test_db;
# 查看用户权限
SHOW GRANTS FOR 'user'@'%';
# 赋予用户指定数据库远程访问权限
GRANT ALL PRIVILEGES ON test_db.* TO 'user'@'%';
# 赋予用户对所有数据库远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
# 赋予用户对所有数据库本地访问权限
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';
# 刷新权限
FLUSH PRIVILEGES;
未完待续