Linux 安装mysql5.7.30
下载地址
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1.解压缩
tar -xvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
2.将安装包进行移动并重命名(需要在root权限下进行)。
mv mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql
3.创建MySQL用户组并修改权限(已配置的,可以跳过)
groupadd mysql
useradd -r -g mysql mysql
4.创建数据目录
mkdir /usr/local/mysql/data #创建目录
5.配置my.cnf
vi /etc/my.cnf
6.配置如下
## 先按i键进入编辑,出现INSERT即可进行输入;如果需要输入数字,不要使用小键盘!
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid
# character config
character_set_server=utf8
symbolic-links=0
explicit_defaults_for_timestamp=true
## 编辑完成后 第一步: 按ESC键 第二步: 按:wq 进行保存
## 如果输入错误,可以使用:q!命令不保存退出
7.初始化数据库
cd /usr/local/mysql/bin
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize
8.查看默认密码
cat /usr/local/mysql/data/mysql.err
9.进入MySQL,更改数据库root的原始密码
在进入数据库之前,要先将mysql.server复制到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
现在就可以启动MySQL
service mysql start
## 需要进入/usr/local/mysql/bin目录下
./mysql -u root -p
10.修改密码
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
11.配置mysql环境变量
vi /etc/profile
## 一般在最下面输入如下配置
MYSQL_HOME=/usr/local/mysql
PATH=$PATH:$MYSQL_HOME/bin
export PATH MYSQL_HOME
第一行的 /usr/local/mysql 根据自己的安装目录配置
编辑完之后,保存并退出,然后输入以下指令,刷新环境配置使其生效
source /etc/profile
12.授权远程访问
1.先登录mysql,因为配置过环境变量,所以可以在任意目录执行如下命令:mysql -u root -p,并输入密码
mysql -u root -p
2.选择数据库
use mysql;
show tables; ##可以看到很多表
3.查看规则
select host,user from user \G;
注: host表示允许哪个ip来连接,user表示哪个数据库。例如 mysql –u root –p 连的就是叫root数据库。
4.修改规则
update user set host= '%' where user = 'root';
5.刷新权限
flush privileges;
13.重置密码
- 开启免密码登陆 修改my.cnf文件 默认在/etc/my.cnf。
vi /etc/my.cnf
2.在【mysqld】模块下面添加
skip-grant-tables ## 保存退出
3.重启服务,使配置生效
service mysqld restart
- 登录
mysql -u root -p ## 不输入密码直接敲回车键
5.选择数据库
use mysql
密码置空(因为免密登陆时不能直接修改密码)
update user set authentication_string = '' where user = 'root';
6.退出
quit
7.把/etc/my.cnf免密删掉,然后重启服务
service mysqld restart
8.登录
mysql -u root -p ## 直接敲回车键,因为刚刚置空密码了。
9.修改密码(此步骤可以用于直接修改密码)
set global validate_password.policy=0;
set global validate_password.length=1;
ALTER USER "root"@"localhost" IDENTIFIED BY "123456"; ## 新密码为123456