1.本地管理員用戶密碼忘記
(1) 關閉數據庫
(2) 將數據庫啟動到無驗證模式
[root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &
(3) 修改密碼
oldguo[(none)]>flush privileges;
oldguo[(none)]>alter user root@'localhost' identified by '123456';
(4)重啟數據庫為正常模式
[root@db01 ~]# /etc/init.d/mysqld restart
(5)測試新密碼
[root@db01 ~]# mysql -uroot -p123456
2. 授權管理生產需求
(1) 授權一個管理員用戶admin ,密碼admin,能夠通過10網段管理數據庫
oldguo[(none)]>grant all on *.* to admin@'10.0.0.%' identified by 'admin';
(2) 開放一個wordpress應用的用戶,密碼123,nginx服務器使172.16.1.%網段.
應用用戶需要權限?
select,insert,update,delete
grant select,insert,update,delete on wordpress.* to wordpress@'172.16.1.%' identified by '123';
(3) 中小公司,開發人員leader,需要開發用戶dev通過10網段對wordpress進行開發和管理
grant SELECT,INSERT, UPDATE, DELETE,CREATE,ALTER,CREATE VIEW,SHOW VIEW,CREATE ROUTINE, ALTER ROUTINE,EVENT, TRIGGER on wordpress.* to dev@'10.0.0.%' identified by '123';
3.MySQL連接管理
3.1 MySQL自帶命令
mysql
-u
-p
-h
-p
-S
-e
-V
<
--help
socket:
mysql -uroot -p123 -S /tmp/mysql.sock
mysql -uoldliu -p -S /tmp/mysql.sock
注意:本地登錄的用戶,需要提前授權localhost相關用戶
TCP/IP
mysql -u oldliu -p -h10.0.0.51 -P3306
-P必須和-h同時使用
4.客戶端工具鏈接
5.MySQL的初始化配置
1.預編譯 **
2.初始化配置文件 *****
3.命令行 ***
注意:優先級3>2>1
5.1 初始化文件讀取順序
顯示順序便是讀取順序
5.2初始化配置文件的作用
數據庫的啟動
客戶端的登陸
5.3 初始化配置文件格式
[標簽1]
xxxx=yyyy
[標簽2]
xxxx=yyyy
[標簽3]
xxxx=yyyy
標簽 :
服務端
[mysqld]
[mysqld_safe]
[server]
客戶端
[mysql]
[mysqldump]
[mysqladmin]
[client]
5.4 配置文件模板
[mysqld]
user=mysql(名稱)
server_id=6(大于0的數,主從復制會用到)
port=3306(端口號)
basedir=/application/mysql(存放軟件的位置)
datadir=/data/3306/data(存放數據的位置)
log_error=/data/3306/data/3306.log(存放日志的位置)
socket=/data/3306/mysql.sock(啟動時候的會用)
[mysql]
socket=/data/3306/mysql.sock
5.5MySQL的多實例管理
#####5.5.1 準備多個目錄
mkdir -p /data/330{7,8,9}/data
#####5.5.2準備配置文件
cat > /data/3307/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
log_error=/data/3307/mysql.log
port=3307
server_id=7
log_bin=/data/3307/mysql-bin
EOF
cat > /data/3308/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/3308/data
socket=/data/3308/mysql.sock
log_error=/data/3308/mysql.log
port=3308
server_id=8
log_bin=/data/3308/mysql-bin
EOF
cat > /data/3309/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/3309/data
socket=/data/3309/mysql.sock
log_error=/data/3309/mysql.log
port=3309
server_id=9
log_bin=/data/3309/mysql-bin
EOF
#####5.5.3 初始化三套數據
mv /etc/my.cnf /etc/my.cnf.bak
mysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/application/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --basedir=/application/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3309/data --basedir=/application/mysql
#####5.5.4 systemd管理多實例
cd /etc/systemd/system
cp mysqld.service mysqld3307.service
cp mysqld.service mysqld3308.service
cp mysqld.service mysqld3309.service
vim mysqld3307.service
ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
vim mysqld3308.service
ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
vim mysqld3309.service
ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
#####5.5.5 授權
chown -R mysql.mysql /data/*
#####5.5.6 啟動
systemctl start mysqld3307.service
systemctl start mysqld3308.service
systemctl start mysqld3309.service
#####5.5.7 驗證多實例
netstat -lnp|grep 330
mysql -S /data/3307/mysql.sock -e "select @@server_id"
mysql -S /data/3308/mysql.sock -e "select @@server_id"
mysql -S /data/3309/mysql.sock -e "select @@server_id"