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;
相關文章
相關標籤/搜索