Linux 下 mysql8 的安装
1.下载
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
2.安装步骤
2.1 解压
解压
tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
将目录改成 mysql
mv mysql-8.0.15-linux-glibc2.12-x86_64 mysql
将mysql 目录copy 到 /usr/local
mv mysql /usr/local
cd /usr/local/mysql
mkdir data
在mysql 目录下创建data目录
2.2 编辑 my.cnf ,在 /etc/下编辑 my.cnf 文件
[client]
port=3306
socket=/tmp/mysql/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=error.log
transaction_isolation = READ-COMMITTED
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
lower_case_table_names = 1
#default_authentication_plugin=mysql_native_password
#skip-grant-tables
2.3 创建 用户
groupadd mysql
useradd -g mysql mysql
2.4 更改目录权限
chown -R mysql:mysql /tmp/mysql
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /tmp/mysql /usr/local/mysql
2.5 初始化
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
2.6 初始化密码
初始化时并没有出现 初始密码,因此需要修改密码。
在 my.cnf 文件中增加 skip-grant-tables,可以使用无密码登录
启动 mysql
./support-files/mysql.server start
清空密码
use mysql;
update user set authentication_string='' where user='root';
不输入密码登录
注释skip-grant-tables ,重启mysql。
mysql -u root -p
输入密码是直接回车。
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';
这里将密码修改为 root。
2.7 设置mysql 为自动启动
cd support-files/ cp mysql.server /etc/init.d/mysql chmod 755 /etc/init.d/mysql cd /etc/init.d chkconfig -add mysql chkconfig --level 345 mysql on mysql start |
2.8 允许自动启动
1.在 my.cnf 的mysqld 下增加
default_authentication_plugin=mysql_native_password
2.进入mysql命令行
use mysql
update user set host ='%' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
使用客户端工具进行连接。