下载tar包:html
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gzmysql
应该会自动下载到 /usr/local/src 下,将文件移动到 /usr/local/mysql下解压
mv /usr/local/src/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gzlinux
进入mysql目录:cd /usr/local/mysql;sql
解压;tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz 获得mysql-8.0.11-linux-glibc2.12-x86_64数据库
重命名; mv mysql-8.0.11-linux-glibc2.12-x86_64 mysql8.0;socket
# 建立文件夹data,存储文件;
cd /usr/local/mysql-8.0/
mkdir ./dataui
2.2 建立用户及用户组加密
# 用户组
groupadd mysql
# 用户 (用户名/密码)
useradd -g mysql mysql
2.3 受权url
chown -R mysql.mysql /usr/local/mysql8.0/ # 亲测
或
chown -R mysql .
chgrp -R mysql .
spa
2.4 初始化数据库:
# 查看当前所在目录
pwd # 若显示/usr/local/mysql/mysql8.0,请继续执行,不然请先进入此目录/usr/local/mysql/mysql8.0
# 初始化 注意查看是否存在相关目录,若不存在,请新建
./bin/mysqld --user=mysql --basedir=/usr/local//mysqlmysql8.0/ --datadir=/usr/local/mysql/mysql8.0/data/ --initialize ; # 亲测
或
./bin/mysql --user=mysql --basedir=/usr/local/mysql/mysql8.0/ --datadir=/usr/local/mysql/mysql8.0
获得临时密码
2.5 Mysql配置(按照本身的文件路径配置,关于其余配置,可自行搜索,如有【mysql-safe】的配置,能够先注释掉)
vi /etc/my.cnf
2.6 创建MySQL服务(注意当前路径应该在mysql8.0,即support-files的根目录)
# 添加Mysql到系统服务
cp -a ./support-files/mysql.server /etc/init.d/mysql # 若mysqld,如下mysql相应的修改mysqld,以下图所示
chmod +x /etc/init.d/mysql
chkconfig --add mysql
# 检查服务是否生效
chkconfig --list mysql
三、启动Mysql服务
-
# 启动
-
service mysql start;
-
# 查看启动状态
-
service mysql status;ln -s /usr/local/mysql/mysql8.0/bin/mysql /usr/bin
登录Mysql:(登陆后只能先修改密码)
-
# 登录
-
mysql -uroot -p
-
# 输入"初始化数据库"操做时的"临时密码"
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
# MySQL 配置文件,
# 数据库目录 /data/mysql
[client]
port=3306
# mysql socket 文件存放地址
socket=/tmp/mysql.sock
# 默认字符集
default-character-set=utf8
[mysqld]
server-id=1
# 端口
port=3306
# 运行用户
user=mysql
# 最大链接
max_connections=200
socket=/tmp/mysql.sock
# mysql 安装目录(解压后文件的目录)
basedir=/usr/local/mysql
# 数据目录(这里放在咱们新建的 /data/mysql 下)
datadir=/data/mysql
pid-file=/data/mysql/mysql.pid
init-connect='SET NAMES utf8'
character-set-server=utf8
# 数据库引擎
default-storage-engine=INNODB
log_error=/data/mysql/mysql-error.log
slow_query_log_file=/data/mysql/mysql-slow.log
# 跳过验证密码
#skip-grant-tables
[mysqldump]
quick
max_allowed_packet=16M
EOF
可能会有好几个地方有 mysql 的配置文件,它的读取顺序是这样的
/etc/my.cnf
basedir/my.cnf
datadir/my.cnf
–defaults-extra-file #在读取全局配置文件以后,读取用户配置文件 (~/.my.cnf)以前,读取extra指定的参数文件
~/.my.cnf
因此咱们在 /etc 下的配置文件 my.cnf 是第一个读取的文件,读到这个文件后就不会在读后面路劲中的配置文件。
四、远程链接
1.在 my.cnf 的mysqld 下增长
default_authentication_plugin=mysql_native_password
远程链接操做不该该修改mysql中user表中用户为root的记录,而是建立一条root记录
-
update user set host ='%' where user='root';
-
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
-
FLUSH PRIVILEGES;若为以上操做,则可能致使本机没法登陆(即便密码准确)
4.受权 root 用户的全部权限并设置远程访问
设置为远程登陆
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION ;(这个命令ok)
GRANT ALL ON 表示全部权限,% 表示通配全部 host,能够访问远程。
5.刷新权限
全部操做后,应执行
flush privileges;
关键的三个命令:
> mysql>CREATE USER 'root'@'%' IDENTIFIED BY 'root'; //这个操做是mysql 8.0中得加的
> mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机均可以访问数据库
> mysql> FLUSH PRIVILEGES; //须要输入次命令使修改生效
2.进入mysql安装目录bin/ 使用safe模式(跳过密码登陆),进行重启:
./mysqld_safe --skip-grant-tables
8.修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
8.0版本
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
password 为你当前密码。
9.更新 root 用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
password 为你新设置的密码。
10.刷新权限
FLUSH PRIVILEGES;
参考博客;https://blog.csdn.net/oschina_41140683/article/details/89844081