mysql5.7 普通安装
一、安装前检查
shell
# 检查是否有安装mariadb
rpm -qa|grep mariadb
# 卸载上面查到的mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64二、下载
shell
# 下载mysql5.7.33版本、清华站只保留最新几个版本
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.31-el7-x86_64.tar.gz三、安装
shell
# 解压
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、创建 mysql 用户
shell
# -s 禁止登陆 -d 登陆默认目录
groupadd mysql && useradd -r -g mysql -s /bin/false mysql2、my.cnf 配置(可选)
shell
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
EOF3、初始化
shell
# 新建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如果安装 MySQL57 时没有运行过 mysql_ssl_rsa_setup,那么如何开启 SSL 呢?
shell# 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
4、启动 mysql
shell
# 复制启动命令
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 启动命令
service mysqld start
# 登陆
/usr/local/mysql/bin/mysql -u root -p
# 输入前面的临时密码5、修改 root 密码
sql
# 执行sql修改密码
set password=password('123456');6、新建用户,禁止 root 远程登录
sql
# 设置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;五、配置环境变量(全局可以使用 mysql 命令)
shell
cat >>/etc/profile.d/mysql.sh <<EOF
export PATH=\$PATH:/usr/local/mysql/bin
EOF
source /etc/profile六、配置远程访问
1、开启防火墙端口
shell
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload2、修改 mysql 用户权限
sql
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges;七、设置开机自启
shell
chkconfig --add mysqld
chkconfig mysqld on