mysql8.x 单机安装 问题总结

 一、下载mysql安装包,解压安装文件,修更名称为mysqlmysql

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

二、在mysql文件夹下建立data目录linux

mkdir data

三、建立 mysql 用户组和 mysql 用户sql

groupadd mysql

useradd -g mysql mysql

四、改变 mysql 目录权限数据库

chown -R mysql:mysql /opt/tools/mysql

五、建立mysql配置文件my.cnfvim

vim /etc/my.cnf

文件内容以下
[client]
port=3306
socket=/opt/tools/mysql/mysql.sock

[mysqld]
port=3306
user=mysql
socket=/opt/tools/mysql/mysql.sock
basedir=/opt/tools/mysql
datadir=/opt/tools/mysql/data
log-error=/opt/tools/mysql/logs/error.log

六、初始化mysqlsocket

一、bin/mysqld --initialize --user=mysql --basedir=/opt/tools/mysql/ --datadir=/opt/tools/mysql/data/

注意此种方式初始化mysql默认密码显示在my.cnf文件中的配置的日志log-error指定的日志文件中,即/opt/tools/mysql/logs/error.log中

找到日志中的 rfUwQep;X4o= 这就是密码
2018-11-02T04:57:08.918454Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rfUwQep;X4o=

二、bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/tools/mysql/ --datadir=/opt/tools/mysql/data/

-insecure 设置为生成没有密码的root用户

七、启动mysql服务函数

support-files/mysql.server start

八、修改默认密码测试

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

安装过程当中遇到的各类问题:this

一、启动mysql后没有密码登陆不了,root用户空密码登陆不了,正常启动MYSQL服务后,敲Linux中root帐户和密码进入不去。加密

注意:skip-grant-table启动没法执行ALTER user 'root'@'localhost' IDENTIFIED BY '123456'

一、在/etc/my.cnf配置文件中加入skip-grant-table,即屏蔽密码验证
vim /etc/my.cnf  

二、在 [mysqld]最后加上skip-grant-tables语句 并保持退出文件

三、重启mysql服务
service mysqld restart

四、启动后登陆mysql
mysql -u root -p  

五、查看用户列表
select host, user, authentication_string, plugin from user;
host: 容许用户登陆的ip‘位置’%表示能够远程;
user:当前数据库的用户名;
authentication_string: 用户密码;在mysql 5.7.9之后废弃了password字段和password()函数

六、修改密码,若是当前root用户authentication_string字段下有内容,先将其设置为空
use mysql;  
update user set authentication_string='' where user='root';

七、退出mysql, 删除/etc/my.cnf文件最后的 skip-grant-tables

八、重启mysql服务

九、登陆mysql终端,提示密码直接敲Enter
mysql -uroot 

十、修改密码
ALTER user 'root'@'localhost' IDENTIFIED BY '123456'

 

二、MySQL 1130 错误,没法远程链接

错误:ERROR 1130: Host 'xxx.xxx.xxx.xxx' is not allowed to connect to thisMySQL serve

错误1130:主机192.168.1.3”不容许链接到thismysql服务

缘由:被链接的数据不容许使用 xxx.xxx.xxx.xxx访问,只容许是用 localhost;

一、登陆mysql
mysql -u root -p 123456

use mysql;

select 'host' from user where user='root';

update user set host = '%' where user ='root';

flush privileges;

select 'host' from user where user='root';

运行完毕后再次链接测试,若还不行重启mysql服务

 

三、Navicat链接Mysql 出现1251错误

由于mysql8 以前的版本中加密规则是mysql_native_password,而在mysql8以后,加密规则是caching_sha2_password

一、修改加密规则
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

二、更新一下用户的密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '要修改的密码';

三、刷新权限 
FLUSH PRIVILEGES;
相关文章
相关标签/搜索