# mysql5.7 普通安装
# 一、安装前检查
# 检查是否有安装mariadb
rpm -qa|grep mariadb
# 卸载上面查到的mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
1
2
3
4
2
3
4
# 二、下载
# 下载mysql5.7.33版本、清华站只保留最新几个版本
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.31-el7-x86_64.tar.gz
1
2
2
# 三、安装
# 解压
tar -zxvf mysql-5.7.31-el7-x86_64.tar.gz -C /usr/local/
# 修改文件夹名称
mv /usr/local/mysql-5.7.31-el7-x86_64/ /usr/local/mysql
1
2
3
4
2
3
4
# 四、配置、启动
# 1、创建 mysql 用户
# -s 禁止登陆 -d 登陆默认目录
groupadd mysql && useradd -r -g mysql -s /bin/false mysql
1
2
2
# 2、my.cnf 配置(可选)
cat >>/etc/my.cnf <<EOF
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock
[mysqld]
#skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=16M
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 3、初始化
# 新建data目录
mkdir /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql
# 初始化
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
# 记住生成的初始化密码
# 给数据库加密 开启ssl 可以不开启
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
如果安装 MySQL57 时没有运行过 mysql_ssl_rsa_setup,那么如何开启 SSL 呢?
# 1)、关闭MySQL服务 service mysqld stop # 2)、运行mysql_ssl_rsa_setup 命令 /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data # 3)、到data_dir目录下修改.pem文件的所属权限用户为mysql chown -R mysql.mysql /usr/local/mysql/data/*.pem # 4)、启动MySQL服务 service mysqld start
1
2
3
4
5
6
7
8
# 4、启动 mysql
# 复制启动命令
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 启动命令
service mysqld start
# 登陆
/usr/local/mysql/bin/mysql -u root -p
# 输入前面的临时密码
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 5、修改 root 密码
# 执行sql修改密码
set password=password('123456');
1
2
2
# 6、新建用户,禁止 root 远程登录
# 设置root只能本地登录
use mysql;
select user,host,authentication_string from user;
update user set host = "localhost" where user = "root" and host = "%";
flush privileges;
select user,host,authentication_string from user;
#添加远程登录用户
CREATE USER 'chenlj'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'chenlj'@'%';
flush privileges;
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 五、配置环境变量(全局可以使用 mysql 命令)
cat >>/etc/profile.d/mysql.sh <<EOF
export PATH=\$PATH:/usr/local/mysql/bin
EOF
source /etc/profile
1
2
3
4
2
3
4
# 六、配置远程访问
# 1、开启防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
1
2
2
2、修改 mysql 用户权限
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges;
1
2
2
# 七、设置开机自启
chkconfig --add mysqld
chkconfig mysqld on
1
2
2