0. 下载安装包

下载地址:https://dev.mysql.com/downloads/mysql/

选择操作系统 Linux-Generic ,此处下载的是 mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz 。


1. 卸载系统自带的 MariaDB (如果系统附带)

#查询已经安装的 MariaDB 的安装包
[root@VM-0-10-centos ~]# rpm -qa | grep mariadb
[root@VM-0-10-centos ~]#
#这里系统没有附带所以不用操作,如果系统附带,用下面命令将其卸载
yum -y remove mariadb-xxxx (xxxx是系统附带的mariadb安装包)

2. 解压安装包

[root@VM-0-10-centos ~]# tar -Jxvf /root/mysql-8.0.21-linux-glibc2.12-x86_64.ta
r.xz
root@VM-0-10-centos ~]# mv mysql-8.0.21-linux-glibc2.12-x86_64 /usr/local/mysql

3. 创建MySQL用户和用户组

[root@VM-0-10-centos ~]# groupadd mysql
[root@VM-0-10-centos ~]# useradd -g mysql mysql
# 新建MySQL的Data文件夹
[root@VM-0-10-centos ~]# mkdir /usr/local/mysql/data

4. 修改MySQL目录归属用户

[root@VM-0-10-centos ~]# cd /usr/local/mysql
[root@VM-0-10-centos ~]# chown -R mysql:mysql ./

5. 创建MySQL配置文件

#在 /etc 目录下创建 my.cnf 文件
[root@VM-0-10-centos ~]# touch /etc/my.cnf
# 在文件中写入如下配置

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
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=utf8
# 创建新表时将使⽤的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M

创建默认文档存储目录,并修改权限

[root@VM-0-10-centos ~]# mkdir /var/lib/mysql
[root@VM-0-10-centos ~]# chmod 777 /val/lib/mysql

6.安装MySQL

[root@VM-0-10-centos ~]#cd /usr/local/mysql
[root@VM-0-10-centos ~]#./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

一定要记住初始化的默认密码 ! ! !


7.复制启动脚本到资源目录

[root@VM-0-10-centos ~]# cp ./support-files/mysql.server /etc/init.d/mysqld

修改 /etc/init.d/mysqld ,修改文件中 basedir 和 datadir 对应的实际目录

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

8. 设置启动服务及开机自启

#增加 mysqld 服务控制脚本的执行权限
[root@VM-0-10-centos ~]# chmod +x /etc/init.d/mysqld
#将 mysqld 服务加入到系统服务
[root@VM-0-10-centos ~]# chkconfig --add mysqld
#检查 mysqld 服务是否已经生效
[root@VM-0-10-centos ~]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

这表明 mysqld 服务生效, 在2,3,4,5运行级别随系统启动而自动启动,以后可以直接使用 service 命令控制 mysqld 的状态


9. 启动MySQL并加入环境变量

[root@VM-0-10-centos ~]# service mysqld start

将 MySQL 的 bin 目录加入到 PATH 环境变量中

export PATH=$PATH:/usr/local/mysql/bin

执行如下命令使得环境变量生效

[root@VM-0-10-centos ~]# source ~/.bash_profile

10. 登陆MySQL修改默认密码

[root@VM-0-10-centos ~]# mysql -u root -p
Enter password:

修改默认密码为12345678

mysql>alter user user() identified by "12345678";
mysql>flush privileges;

11.设置远程登陆

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> UPDATE user SET user.Host='%' WHERE user.User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)