1、下载mysql5.6版本
【官网-需要什么版本自己去找】https://mirrors.huaweicloud.com/mysql
【版本】linux通用
cd /usr/local/
wget https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.6/mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz
2、解压文件
tar -zxvf mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz
3、将文件拷贝到 /usr/local/mysql下(很关键,对于小白来说可以省很多事)
mv mysql-5.6.49-linux-glibc2.12-x86_64 mysql
4、创建用户组,添加mysql用户到mysql组
groupadd mysql
useradd -r -g mysql mysql
5、修改文件权限(将mysql权限全部交到mysql用户)
cd /usr/local/mysql
chown -R mysql:mysql ./
6、安装 mysql 程序(在scripts目录下执行)
cd /usr/local/mysql/scripts
yum install -y libaio
yum install -y autoconf
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7、将my.cnf 移动到 /etc/下(默认的配置文件读取地址在/etc/下)
cd /usr/local/mysql
mv my.cnf /etc/my.cnf
my.cnf 常用配置
#mysql端口号
port = 3306
#pid文件存储位置
pid-file = /data/mysql/mysql.pid
#程序安装目录
basedir = /usr/local/mysql/
#数据文件存储位置
datadir = /var/local/mysql/data #数据库目录
#设定默认字符为utf8mb4
character-set-server=utf8mb4
#日志位置
log-error = /var/lib/mysql/error.log
#开启慢查询日志相关
slow_query_log=on
#慢查询判断标准,默认10秒
long_query_time=2
#慢查询日志路径
slow_query_log_file = /var/log/mysql/slow_query.log
#记录没有使用索引的sql
log-queries-not-using-indexes = 1
#默认的存储引擎类型
default_storage_engine=InnoDB
#可以修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个独立的数据空间
innodb_file_per_table = on
#缓冲池大小,建议为操作系统内存的70%-80%,需重启服务生效
innodb_buffer_pool_size=4G
#软连接开启状态 1是开启 0是关闭
symbolic-link = 0
#临时文件路径
tmpdir = /usr/local/mysql/tmp/
#忽略主机名解析,提高访问速度(注意配置文件中使用主机名将不能解析)
skip_name_resolve = on
#打开时,和max_connections对比,取大数
open_files_limit = 65535
#忽略表单大小写
lower_case_table_names = 1
8、修改权限
cd /usr/local/mysql
chown -R root:root ./
chown -R mysql:mysql data
9、启动项目
cd /usr/local/mysql/support-files
#启动
./mysql.server start
#停止
./mysql.server stop
启动报错问题
按提示查看报错文件 一般在data下面 ,有问题直接上网百度即可。日志里面的【error】错误直接复制粘贴到百度看下解决办法,不同环境下可能呈现不同的问题这里就不一一列举了,错误种类千奇百怪啥都有,说下我碰到的问题,启动程序 提示 找不到 pid文件,然后我查看了日志,日志提示InnoDB: mmap(2197815296 bytes) failed;说明服务器无法分配内存,我用的是测试服务器配置很低1核1G的 内存估计不够所以在my.cnf里修改默认innodb_buffer_pool_size=128M 改为 8M 然后就可以正常启动啦。
10、修改管理员密码
cd /usr/local/mysql/bin
./mysqladmin -u root password '你的密码'
11、登录mysql
./bin/mysql -h127.0.0.1 -uroot -p
在输入密码
12、添加远程连接用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
flush privileges;
13、设置mysql为服务
a、启动mysql服务获取pid信息
b、ps -ef |grep mysql,通过命令找到pid信息复制(或者直接在my.cnf设置pid文件的位置)
c、在 /usr/lib/systemd/system 目录下创建 mysql.service
d、将下面的信息填入mysql.service中
[Unit]
Description=‘你的服务信息’
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/mysql/data/你的pid信息.pid
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=false
[Install]
WantedBy=multi-user.target
e、刷新配置
systemctl daemon-reload
f、可以启动服务了
#启动服务
systemctl start mysql.service
#关闭服务
systemctl stop mysql.service
#开启开机自启动
systemctl enable mysql.service
#关闭开机自启动
systemctl disable mysql.service
如果报错可以根据提示查看报错信息具体调试
Tip:一般会遇到的错误pid路径写错了,启动路径写错了等等书写错误问题