一个专业运
维技术分享!

Linux系统安装部署MySQL完整教程

一、准备MySQL安装包

这是官网:https://dev.mysql.com/downloads/mysql/5.7.html

进去以后,系统选择Linux - Generic,最后选择64位的点击Download

选择直接下载即可

注:这边之所以选择的是5.7版本,是因为之前选择了最新版部署总是存在初始化失败的问题,所以我还是选择了更加稳定的版本。 

二、安装MySQL

这边我把自己的华为云服务器预先重装了系统,就是为了一步步干净完整的阐述搭建流程。

1、在根目录下新建一个mysql文件夹(图方便)

mkdir mysql

2、进入该目录

cd /mysql

3、将下载好的压缩包上传到Linux服务器上(Xftp)

4、解压

tar zxvf mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz

5、解压完成以后,重命名一下解压后的目录名称,实在是太长了

mv mysql-5.7.43-linux-glibc2.12-x86_64/ mysql-5.7

三、创建用户组和用户

1、创建名为mysql的用户组

groupadd mysql

2、添加用户htt到mysql用户组

useradd -r -g mysql htt

四、配置MySQL

1、进入到刚才解压的MySQL目录下

cd /mysql/mysql-5.7

2、创建一个名为data的目录

mkdir data

3、给用户组中的htt用户赋予data目录的权限

chown htt:mysql -R /mysql/mysql-5.7/data/

4、配置my.cnf文件

vim /etc/my.cnf

5、删除my.cnf文件中所有内容,复制如下内容

[mysqld]
bind-address=0.0.0.0
port=3306
user=htt
basedir=/mysql/mysql-5.7
datadir=/mysql/mysql-5.7/data
socket=/tmp/mysql.sock
log-error=/mysql/mysql-5.7/data/mysql.err
pid-file=/mysql/mysql-5.7/data/mysql.pid
max_connections=10000
max_user_connections=2000
wait_timeout=200
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
lower_case_table_names=1

命令详解

参数 解释
bind-address=0.0.0.0 设置MySQL绑定监听的IP地址,0.0.0.0表示监听所有IP,允许远程连接。
port=3306 设置MySQL服务的端口号,默认是3306
user=htt 指定运行mysqld进程的系统用户为htt
basedir=/mysql/mysql-5.7 设置MySQL的安装基目录
datadir=/mysql/mysql-5.7/data 设置MySQL的数据文件目录
socket=/tmp/mysql.sock 设置本地连接时使用的Unix socket文件路径
log-error=/mysql/mysql-5.7/data/mysql.err 设置错误日志文件路径
pid-file=/mysql/mysql-5.7/data/mysql.pid 设置存放进程PID的文件路径
max_connections=10000 设置最大连接数,包括TCP和socket连接
max_user_connections=2000 设置单个用户最大并发连接数
wait_timeout=200 设置空闲连接超时时间,单位秒
character_set_server=utf8mb4 设置服务器默认字符集
symbolic-links=0 禁用symbolic link符号链接支持
explicit_defaults_for_timestamp 设置timestamp列默认值声明方式
lower_case_table_names=1 表名区分大小写,设置为1表示不区分

注: 记得改成自己的目录

6、 按i键进入编辑模式,粘贴进去

38617511568f4d46b9a44e99f4f18fcd.png

7、按Esc键退出编辑模式,输入:wq保存并退出vim编辑器即可

五、初始化MySQL

1、先进入安装目录的bin目录下

cd /mysql/mysql-5.7/bin

2、初始化MySQL的数据目录

./mysqld --defaults-file=/etc/my.cnf --basedir=/mysql/mysql-5.7 --datadir=/mysql/mysql-5.7/data --user=htt --initialize

命令详解

参数 详解
./mysqld 启动mysqld服务器程序
--defaults-file=/etc/my.cnf 指定配置文件路径为/etc/my.cnf
--basedir=/mysql/mysql-5.7 指定MySQL的安装目录
--datadir=/mysql/mysql-5.7/data 指定数据目录路径
--user=htt 以htt用户身份启动
--initialize 初始化数据目录,创建必要的系统表等

执行以后控制台报了如下错误:

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

执行如下命令,安装一下即可:

yum -y install libaio

3、再次执行刚才的命令,然后执行命令查看日志当中的初始密码

cat /mysql/mysql-5.7/data/mysql.err

 

红框是初始密码,一会登录MySQL会用到

NYURXh_Wx5o!

六、启动MySQL

1、进入support-files目录下

cd /mysql/mysql-5.7/support-files

2、 运行mysql.server来启动MySQL服务

sudo ./mysql.server start

启动成功!

七、登录并修改初始密码

1、进入MySQL的bin目录

cd /mysql/mysql-5.7/bin

2、登录MySQL

./mysql -u root -p

3、把刚才的NYURXh_Wx5o!粘贴进来,然后敲回车

这样就登录进来了!

 

4、修改初始密码为root

SET PASSWORD = PASSWORD('root');

5、将root用户的密码过期策略设置为永不过期

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

6、刷新

FLUSH PRIVILEGES;

 

这样就可以了!

八、修改访问权限

1、访问mysql库

use mysql

2、打开root用户的远程访问权限,允许任何主机使用root用户连接MySQL数据库

update user set host = '%' where user = 'root';

 

3、刷新

FLUSH PRIVILEGES;

 

这样就修改完成了!

九、放行端口号

我这边购买的是华为云服务器,需要在安全组放行MySQL的3306端口,否则无法访问!

十、Navicat访问MySQL

输入服务器ip、端口号、账号和密码,连接成功

 

这样就安装部署成功啦!

十二、设置开机自启

1、将MySQL的服务脚本创建一个符号链接到系统服务脚本目录下,文件名为mysql

ln -s /mysql/mysql-5.7/support-files/mysql.server /etc/init.d/mysql

命令详解

参数 解释
ln -s 创建一个符号链接
/mysql/mysql-5.7/support-files/mysql.server MySQL数据库自带的服务脚本,用于控制MySQL服务器的启动和停止
/etc/init.d/mysql 系统服务脚本存放的位置

2、将MySQL的客户端程序mysql创建一个符号链接到系统命令目录/usr/bin下

ln -s /mysql/mysql-5.7/bin/mysql /usr/bin/mysql

命令详解

参数 解释
ln -s 创建一个符号链接
/usr/bin/mysql 在系统命令目录下创建mysql符号链接
/mysql/mysql-5.7/bin/mysql MySQL客户端程序mysql的原始路径

3、重启MySQL

service mysql restart

4、给/etc/init.d/mysql文件添加可执行权限

chmod +x /etc/init.d/mysql

5、将mysql服务添加为开机自动启动的服务

chkconfig --add mysql

6、查看服务列表

chkconfig --list

2-5级别显示为on,表示开机自动启动

 

这样就设置好了!



微信扫描下方的二维码阅读本文

赞(4) 打赏
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。小柳实验室 » Linux系统安装部署MySQL完整教程

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏