以下只简单记录安装过程,使用普通用户dongzw把mysql5.7.28安装在/data/mysql目录下,环境变量未配置,my.cnf最简配置,请根据实际情况调整。前期的下载等准备工作请参考本系列其它文章。
mkdir -p /data/mysql
mkdir -p /data/soft_rpm
cd /data/soft_rpm
[root@localhost soft_rpm]# tar -xf mysql-5.7.28-1.el6.x86_64.rpm-bundle.tar
[root@localhost mysql-5.7.28-1.el6.x86_64.rpm-bundle]# rpm2cpio mysql-community-common-5.7.28-1.el6.x86_64.rpm |cpio -id
5798 blocks
[root@localhost mysql-5.7.28-1.el6.x86_64.rpm-bundle]# rpm2cpio mysql-community-libs-5.7.28-1.el6.x86_64.rpm | cpio -id
31230 blocks
[root@localhost mysql-5.7.28-1.el6.x86_64.rpm-bundle]# rpm2cpio mysql-community-client-5.7.28-1.el6.x86_64.rpm | cpio -id
320493 blocks
[root@localhost mysql-5.7.28-1.el6.x86_64.rpm-bundle]# rpm2cpio mysql-community-server-5.7.28-1.el6.x86_64.rpm | cpio -id
1797209 blocks
[root@localhost mysql-5.7.28-1.el6.x86_64.rpm-bundle]# mv etc/ /data/mysql/
[root@localhost mysql-5.7.28-1.el6.x86_64.rpm-bundle]# mv var/ /data/mysql/
[root@localhost mysql-5.7.28-1.el6.x86_64.rpm-bundle]# mv usr/ /data/mysql/
[root@localhost mysql-5.7.28-1.el6.x86_64.rpm-bundle]# mkdir -p /data/mysql/data
[root@localhost mysql-5.7.28-1.el6.x86_64.rpm-bundle]# chown -R dongzw:dongzw /data/
vi /data/mysql/etc/my.cnf
[mysqld]
datadir=/data/mysql/data
socket=/data/mysql/mysql.sock
symbolic-links=0
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid
初始化:
[dongzw@localhost data]$ /data/mysql/usr/sbin/mysqld --initialize --defaults-file=/data/mysql/etc/my.cnf --user=dongzw
注意查看初始化密码:
[dongzw@localhost data]$ cat /data/mysql/mysqld.log
2019-12-03T02:47:42.204789Z 1 [Note] A temporary password is generated for root@localhost: OdH6aOyruS#;
启动数据库:
[dongzw@localhost mysql]$ /data/mysql/usr/sbin/mysqld --defaults-file=/data/mysql/etc/my.cnf --user=dongzw &
登录并修改密码:
[root@localhost ~]# /data/mysql/usr/bin/mysql -uroot -p"OdH6aOyruS#;" -S /data/mysql/mysql.sock
mysql> set password for root@localhost = password('root');
停止:
[root@localhost soft_rpm]# /data/mysql/usr/bin/mysqladmin -uroot -proot -S /data/mysql/mysql.sock shutdown
如果启动报错:
[ERROR] Incorrect definition of table mysql.db: expected column 'User' at position 2 to have type char(32), found type char(16).
2019-12-03T04:29:04.535209Z 0 [ERROR] mysql.user has no `Event_priv` column at position 28
2019-12-03T04:29:04.536328Z 0 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.
执行一下升级重起即可:
[dongzw@localhost mysql]$ /data/mysql/usr/bin/mysql_upgrade -uroot -proot -S /data/mysql/mysql.sock