下载
- 下载地址
https://downloads.mysql.com/archives/community/
安装
- 将下载的 MySQL 文件上传到CentOS中
- 检查系统是否安装了 mariadb 数据库
yum list installed | grep mariadb
备注 :mariadb 数据库是 mysql 数据库的分支。mariadb 和 mysql 会有冲突,所以如果Linux中存在 mariadb数据库,将其卸载
- 卸载 mariadb 数据库
yum -y remove mariadb-libs.x86_64
- 卸载完成,解压 mysql 软件压缩包
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
- 修改解压后的文件名
mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7.18
- 将文件移动到 /usr/local/ 文件夹下
mv mysql-5.7.18 /usr/local/
- 创建数据文件夹 data
# 进入 mysql 安装目录
cd /usr/local/mysql-5.7.18/
# 创建 data 目录
mkdir data
说明 :data 文件夹是 mysql 用来存放数据库文件的,数据库的表数据都放在 data 目录中
- 创建用户执行 mysqld 命令
useradd mysql
- 初始化 mysql
说明 :使用 mysql 的 mysqld 命令初始化数据库的基本信息,进入 mysql 中的 bin 目录下执行
# 进入mysql安装目录下的bin目录
cd /usr/local/mysql-5.7.18/bin/
# 初始化 mysql
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql-5.7.18/data --basedir=/usr/local/mysql-5.7.18
参数说明 :
--initialize :初始化 mysql,创建 mysql 的 root,随机生成密码(记住该密码,登录mysql使用)
--user :执行 mysqld 命令的 Linux 用户名
--datadir :mysql 数据文件的存放位置
--basedir :mysql 安装程序的目录
- 初始化 mysql 后,会生成一个随机密码,记住该密码
- 启用安全功能
说明 :在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序,mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书
# 进入mysql安装目录下的bin目录
cd /usr/local/mysql-5.7.18/bin/
# 启用安全功能
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.18/data
- 修改 mysql 安装目录的权限
chown -R mysql:mysql /usr/local/mysql-5.7.18/
启动
- 启动 MySQL
# 进入 mysql 安装目录下的 bin 目录
cd /usr/local/mysql-5.7.18/bin/
# 启动MySQL
./mysqld_safe &
- 检查是否启动成功
ps -ef | grep mysql
- 使用 mysql 客户端登录 mysql
# 进入 mysql 安装目录下的 bin 目录
cd /usr/local/mysql-5.7.18/bin/
# 登录mysql
./mysql -uroot -p
参数说明 :
-u :表示使用root用户登录系统
-p :表示使用密码登录,第一次的密码是初始化mysql时生成的随机密码
- 修改 root 密码
alter user 'root'@'localhost' identified by '123456';
- 授权远程访问
grant all privileges on *.* to root@'%' identified by '123456';
说明 :
- 授权远程访问,在没有授权之前只能在本机访问msyql, 远程授权就是让其他计算机通过网络访问mysql
参数说明 :
- *.*:第一个 * 表示所有数据库,第二个 * 表示所有的数据库表
- root@'%' : root 表示用户名, % 表示ip地址, % 也可以指定具体的ip地址
例:root@localhost,root@192.168.10.129
- 刷新授权,执行授权远程访问后,执行 flush 刷新权限
flush privileges;
- 防火墙开放 3306 端口
说明 :mysql默认端口是3306,防火墙不开放该端口将无法访问
# 开启 3306 端口
firewall-cmd --add-port=3306/tcp --permanent
# 重新加载防火墙配置
firewall-cmd --reload
关闭
- 退出 mysql 客户端
mysql> exit;
或
mysql> quit;
- 关闭 MySQL 服务器
# 进入 mysql 安装目录下的 bin 目录
cd /usr/local/mysql-5.7.18/bin/
# 退出mysql服务器
./mysqladmin -uroot -p123456 shutdown