【值得收藏】Centos7 安装mysql完整操作命令
前言
CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的。
如果第一次使用Linux的童鞋可以类比下Windows的安装,步骤都一样,下载-》解压缩-》安装(可指定路径),只不过Linux是用命令安装,不是鼠标操作,而且Linux是文件系统,一切皆文件,也就是说Linux没有和Windows一样有CDE等盘符的,Linux都是以文件作为路径。最后说一句,要多动手操作
准备
准备:VMwarecentos7虚拟主机mysql资源路径:http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
实操
1.卸载
先停掉mysql进程 没有安装过的可以直接跳过
pkill -9 mysqld
查找并列出所有被安装的MySQL rpm package
rpm -qa|grep -i mysql
使用命令 yum -y remove卸载MySQL及相关的包
yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
卸载不掉的用 rpm -ev
依次卸载 直到没有
2.下载mysql的repo源
/**纠正一下,这源下载的是最新的版本 ****/
可以指定安装目录 yum --installroot=/usr/local/mysql --releasever=/ -y install mysql-server )我没试,这样装环境变量配置都不用你管,装上直接启动就行。安装路径是默认的。
wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
下载完后就是一个mysql57-community-release-el7-7.noarch.rpm的文件,可以用以下命令查看该文件都包含哪些包:
rpm -qpl mysql57-community-release-el7-7.noarch.rpm
安装rpm包
rpm -ivh mysql57-community-release-el7-7.noarch.rpm
安装完上述包后,查看yum库
yum list mysql*
之后就可以用yum安装MySQL了:
yum install mysql-community-server
MySQL安装完成。查看已安装版本
mysql -V
3.设置mysql密码
1、停止mysql服务
systemctl stop mysqld.service
2、mysql配置文件修改为免密码登录。
vi /etc/my.cfg
修改
# Disabling symbolic-links is recommended to prevent assorted security risks
skip-grant-tables #添加这句话,这时候登入mysql就不需要密码
symbolic-links=0
3、启动 mysql 服务
systemctl start mysqld.service
修改密码
set password for root@localhost=password('123456'); or update user set authentication_string=PASSWORD("123456") where user="root";
4、以root身份登录mysql, 输入密码的时候直接回车
mysql -u root -p #输入命令回车进入,出现输入密码提示直接回车。
mysql> set password for root@localhost = password('123456');
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> set password for root@localhost = password('123456'); or update user set authentication_string=PASSWORD("123456") where user="root";
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>flush privileges; #更新权限
mysql>quit; #退出
至此,数据库安装及简单的设置就完成了
MySQL8.0
注:如果你安装的是MySQL8.0以上版本,安装完成后如果登录不上,必须修改初始密码才能正常登陆使用
基本设置如下:
登录的时候密码很容易输错,所以需要先获取一个随机密码:
grep 'temporary password' /var/log/mysqld.log //生成随机密码
mysql -uroot -p //使用随机密码登陆
1.修改用户名对应的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; //修改密码
这里直接修改为123456会提示密码太弱[非要改为123456,先要修改mysql8的密码规则]
注意:密码设置必须要大小写字母数字和特殊符号(,/’;:等),否则设置失败。
修改成功后退出:quit或者exit
如果安装完之后需要通过远程终端连接,要开启MySQL的远程访问权限:
create user root@'%' identified by '你的密码';
grant all privileges on *.* to root@'%' with grant option;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
flush privileges; #更新权限
2.修改/etc/my.cnf 添加skip-grant-tables跳过验证登录
vim /etc/my.cnf //修改my.cnf文件
//在[mysqld]后面任意一行添加"skip-grant-tables"用来跳过密码验证的过程,保存退出。
mysql -uroot -p //登录,不需要密码
//登录成功:
use mysql; //切换到mysql库
select host,user,authentication_string from user; //可以查看root用户的host及密码(加密后)
3.mysql8.0去除了password字段,更改为authentication_string
update user set authentication_string = '' where user = 'root';
//将密码置为空,my.cnf去掉skip-grant-tables依旧可以空密码登录。
vim /etc/my.cnf
//编辑my.cnf文件 去掉之前添加的"skip-grant-tables",依旧可以空密码登录
你还可以通过修改mysql的密码策略为LOW,然后再修改为简单密码或者空密码登陆
查看mysql的密码策略
show variables like 'validate_password%';
参数详细讲解:
validate_password.check_user_name 用户名检测
validate_password.dictionary_file 指定密码验证的文件路径;
validate_password.length 固定密码的总长度;
validate_password.mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
validate_password.number_count 整个密码中至少要包含阿拉伯数字的个数;
validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
validate_password.special_char_count 整个密码中至少要包含特殊字符的个数
set global validate_password.policy=LOW; //设置密码强度为LOW
策略修改完后,修改密码:
alter user 'root'@'localhost' identified by 'root'; //修改密码为root,提示修改成功
以上为MySQL8.0安装完成后的简单设置和注意事项,动手实践起来吧!
- 点赞
- 收藏
- 关注作者
评论(0)