mysql下载地址:
https://dev.mysql.com/downloads/mysql/
我使用的centos7,这里选择linux-generic,然后下载第一个,第一个解压就可以用了(.tar.xz)。
先选择以前的版本,同样下载第一个。
1 2 |
tar -xvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql5.7 |
mysql服务需要单独的用户,所以添加用户组及用户mysql
1 |
chown mysql:mysql /usr/local/mysql -R |
1 |
vim my.cnf |
这里面就是具体的文件目录配置,以及端口号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd
[mysqld] skip-grant-tables #mysql安装目录 basedir=/usr/local/mysql5.7 #mysql数据库目录 datadir=/usr/local/mysql5.7/data
port = 3307
[mysqld_safe] #错误日志 log-error=/usr/local/mysql5.7/data/error.log #pid文件 pid-file=/usr/local/mysql5.7/data/mysqld.pid tmpdir=/tmp/mysql5.7 # # include all files from the config directory # #!includedir /etc/my.cnf.d |
这里需要手动设置两个路径以及用户,--initialize-insecure是不生成随机密码的方式,--initialize会在日志生成随机密码
1 |
/usr/local/mysql5.7/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql5.7/data/ --basedir=/usr/local/mysql5.7/ --user=mysql |
使用我们自己的my.cnf启动
这时候可以使用mysqld_safe,但是这样启动关闭起来也只能用命令关闭,所以需要使用脚本
进入mysql目录的support-files文件夹编辑mysql.server
1 |
vim /usr/local/mysql5.7/support-files/mysql.server |
编辑以下内容
1 2 3 4 5 6 7 |
basedir=/usr/local/mysql5.7 datadir=/usr/local/mysql5.7/data lockdir='/var/lock/subsys5.7' lock_file_path="$lockdir/mysql5.7" mysqld_pid_file_path=/usr/local/mysql5.7/data/mysqld.pid #搜索conf后再修改,这个在else语句里面 conf=/usr/local/mysql5.7/my.cnf |
复制该文件到/etc/init.d并重命名为mysql5.7
1 |
cp -i /usr/local/mysql5.7/support-files/mysql.server /etc/init.d/mysql5.7 |
使用方法
1 |
service mysql5.7 {start|stop|restart|reload|force-reload|status} |
启动
1 |
service mysql5.7 start |
启动后会报错
Starting MySQL.Logging to '/usr/local/mysql/data/error.log'. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).
原因是没有在mysql目录下创建data目录,我们创建一个data目录,并修改为用户用户组为mysql,再启动即可。
其他版本的mysql也这样配置,只要设置好路径就共存