1.下载
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.gz
2.解压
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
3.授权
chown -R mysql.mysql /usr/local/mysql8.0.20/
4. 建my.cnf
#mysql80目录下的my.cnf,mysql57 下的将对应的 mysql 后面的 80 改成 57,修改端口号为 3305(随意,不被占用就行), 删掉标注不要的内容 即可
[client]
port=3308
#mysql57 不要这个
mysqlx_port=33080
socket=/tmp/mysql80.sock
#mysql57 不要这个
mysqlx_socket=/tmp/mysqlx80.sock
[mysqld]
#skip-grant-tables
#mysql安装目录
basedir=/usr/local/mysql80
#mysql数据库目录
datadir=/usr/local/mysql80/data
port=3308
#mysql57 不要这个
mysqlx_port=33080
socket = /tmp/mysql80.sock
#mysql57 不要这个
mysqlx_socket=/tmp/mysqlx80.sock
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysqld_safe]
#错误日志
log-error=/usr/local/mysql80/data/error.log
#pid文件
pid-file=/usr/local/mysql80/data/mysqld.pid
tmpdir=/tmp/mysql80
5.mysql.server文件修改
6.初始化
两种方式:
一种直接初始化,使用默认的配置文件,不用指定
#/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
最后一行可以得到初始化之后的密码 类似: [Note] A temporary password is generated for root@localhost: <gxU*CxtK2k%
另外一种指定配置文件初始化:
#/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize --user=mysql
#/usr/local/mysql/bin/mysql_ssl_rsa_setup --defaults-file=/usr/local/mysql/my.cnf
多机的情况下必须主要my.cnf文件的位置:
5.7版本寻找my.cnf的文件的顺序是
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
所以,要想使用到当前数据库自己文件夹下的的my.cnf文件,就必须在前面的三个文件的地址上面没有配置文件才可以
7、文件配置
复制启动文件 [root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld
[root@localhost bin]# cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
6.启动该实例mysql
mv /opt/mysql/data/my.cnf /opt/mysql/data/mcdb/my.cnf
/opt/mysql/bin/mysqld_safe --defaults-file=/opt/mysql/data/mcdb/my.cnf --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data/mcdb 2>&1 > /dev/null &
7.登录mysql
/opt/mysql/bin/mysql -uroot -pxHGkgc+9ea6/ -S /opt/mysql/data/mcdb/mysql.sock
8.设定新密码
alter user root identified with mysql_native_password by 'Mfz123456';
方法二
使用 bin/mysqld_safe
指定配置文件来启动:
cp /etc/my.cnf ./
##改改其中的一些配置(端口,pid,和文件路径)
./bin/mysqld_safe –defaults-file=/usr/local/mysql-5.7.24/my.cnf –basedir=/usr/local/mysql-5.7.24 –datadir=/home/mysql-5.7.24/data &
指定文件初始化
./bin/mysqld --defaults-file=/usr/local/mysql80/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql80 --datadir=/usr/local/mysql80/data
修改密码:
alter user root identified with mysql_native_password by 'Mfz123456';
./bin/mysqld_safe --defaults-file=/usr/local/mysql80/my.cnf --user=mysql --basedir=/usr/local/mysql80 --datadir=/usr/local/mysql80/data 2>&1 > /dev/null &