MySQL 8.0 源码包安装
0) 环境监测
[root@localhost ~]# rpm -e --nodeps $(rpm -qa | grep mysql)
[root@localhost ~]# rpm -e --nodeps $(rpm -qa | grep mariadb)
1)创建用户
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -M -s /sbin/nologin mysql -g mysql
2)解包
[root@localhost ~]# tar xf mysql-8.0.26-el7-x86_64.tar.gz
[root@localhost ~]# mv mysql-8.0.26-el7-x86_64 /usr/local/mysql
3)授权
[root@localhost ~]# mkdir /usr/local/mysql/data
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql/
4)优化调整
[root@localhost ~]# vim /usr/local/mysql/support-files/my_default.cnf
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /usr/local/mysql/
datadir = /usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /usr/local/mysql/data/mysqld.log
pid-file = /usr/local/mysql/data/mysqld.pid
[root@localhost ~]# cp /usr/local/mysql/support-files/my_default.cnf /etc/my.cnf
[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost ~]# chmod +x /etc/rc.d/init.d/mysqld
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost ~]# . /etc/profile
5)初始化
[root@localhost ~]# /usr/local/mysql/bin/mysqld
[root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize \
--user=mysql \
--basedir=/usr/local/mysql/ \
--datadir=/usr/local/mysql/data/
[root@localhost ~]# cat /usr/local/mysql/data/mysqld.log
初始化完成后查看日志,在/usr/local/mysql/data/mysqld.log,并记住做好的临时密码 如HZ#B9xa6j4io
6)启动mysql服务
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# mysql -uroot -pHZ#B9xa6j4io
7)更改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> create user root@'%' identified by '123456';
Query OK, 0 rows affected (0.11 sec)
mysql> grant all privileges on *.* to root@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
8)重启mysql
[root@localhost ~]# systemctl restart mysqld
[root@localhost ~]# mysql -uroot -p123456