- 更新源
yum update
- 创建用户并添加到用户组
groupadd mysql useradd -g mysql -s /sbin/nologin -d /dev/null mysql
- 查找mysql5.7的安装包(搜狐镜像站),找到自己系统相对应的版本,下载,并使用ftp/ssh上传至服务器。
- 解压安装包mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
tar -vxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
- 将解压下来的文件包移至/usr/local/mysql目录下(系统本身没有mysql目录,自己建立)
mkdir /usr/local/mysql
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
- 更改权限
chown -R mysql:mysql mysql
- 先建一些目录(日志、临时文件、数据文件目录、自定义配置文件).
mkdir /usr/local/mysql/data
mkdir /usr/local/mysql/data/mysql
mkdir -p /usr/local/mysql/data/mysql/mysql3306/{logs,tmp,data}
- 将默认配置文件移至自己先建的目录中(便于备份和修改)
cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/data/mysql/mysql3306/my.cnf
- 修改备份好的配置文件
vi /usr/local/mysql/data/mysql/mysql3306/my.cnf
# 修改
# 指定data目录
datadir=/usr/local/mysql/data/mysql/mysql3306/data/
# 指定监听端口
port=3306
# 表名忽略大小写
lower_case_table_names=1
- 初始化mysql,5.7版本的mysql在初始化中会生成随机密码,请自己查看(在初始化完毕之后,最后一行会看到)
[root@VM_174_213_centos mysql]# bin/mysqld --defaults-file=/usr/local/mysql/data/mysql/mysql3306/my.cnf --initialize
- 启动mysql
[root@VM_174_213_centos mysql]# bin/mysqld --defaults-file=/usr/local/mysql/data/mysql/mysql3306/my.cnf --user=root
- 设置root用户密码,(命令中的"password"必须要有)
[root@VM_174_213_centos mysql]# ./bin/mysqladmin -uroot -p password
- 将mysql添加到环境变量
- 编辑/etc/profile,在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下添加如下脚本。
export PATH=$PATH:/usr/local/mysql/bin/
2. 保存并退出profile文件,执行source /etc/profile,使其生效。
- 验证是否安装成功
mysql -uroot -p
- (*非必要)允许用户user1从ip为10.0.0.1的主机连接到mysql服务器,并使用password作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.0.0.1' IDENTIFIED BY 'password' WITH GRANT OPTION;
- (*非必要)mysql开机自启动
①. 在/usr/lib/systemd/system目录下新建mysql.service文件,添加如下脚本
[Unit]
Description=mysql
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
#LimitNOFILE=max_open_files
PIDFile=/usr/local/mysql/mysql.pid
TimeoutSec=0
PermissionsStartOnly=true
ExecStartPre=/usr/local/mysql/
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my.cnf --user=mysql
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=false
#Nice=nice_level
#LimitCore=core_file_limit
#Environment="LD_PRELOAD=/usr/local/mysql/lib"
Restart=on-failure
RestartPreventExitStatus=1
[Install]
WantedBy=multi-user.target
②. 允许mysql开机启动
systemctl enable mysql
③. 检查配置是否成功
systemctl is-enabled mysql
16.(*非必要)mysql开启慢查询
/data/mysql/mysql3306/my.cnf中添加如下代码
# 慢日志
slow_query_log=1
slow_query_log_file=/data/mysql/mysql3306/logs/localhost-slow.log
slow_launch_time=1
参考
How to Install MySQL on CentOS 7:https://www.linode.com/docs/databases/mysql/how-to-install-mysql-on-centos-7
网友评论