三、mysql的基本管理 1、資料庫關閉啟動 資料庫啟動流程: 2、mysql配置文件 3、配置mysql多實例 ...
三、mysql的基本管理
1、資料庫關閉啟動
資料庫啟動流程:
關閉:
[root@centos6-kvm3 support-files]# service mysql stop
[root@centos6-kvm3 support-files]# mysqladmin -uroot -poldboy123 shutdown
啟動:
[root@centos6-kvm3 support-files]# service mysqld start
[root@centos6-kvm3 support-files]# /application/mysql/bin/mysqld_safe &
野蠻關閉資料庫方式:
kill -9 ?
第三種為利用系統進程管理命令關閉MySQL。
kill pid#<==這裡的pid為資料庫服務對應的進程號。
killall mysqld#<==這裡的mysqld是資料庫服務對應的進程名字。
pkill mysqld #<==這裡的mysqld是資料庫服務對應的進程名字。
啟動報錯案例:
[root@centos6-kvm3 data]# service mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/application/mysql-5.6.36/data/centos6-kvm3.pid).
查看錯誤日誌:
[root@centos6-kvm3 data]# pwd
/application/mysql/data
[root@centos6-kvm3 data]# cat centos6-kvm3.err
查看報錯部分:
2020-03-19 00:07:20 23029 [ERROR] /application/mysql-5.6.36/bin/mysqld: Can't find file: './mysql/user.frm' (errno: 13 - Permission denied)
[root@centos6-kvm3 data]# ll
drwx------ 2 root root 4096 Mar 18 21:32 mysql
[root@centos6-kvm3 data]# chown -R mysql.mysql mysql
編譯啟動:
[root@centos6-kvm3 data]# mysqld_safe --socket=/tmp/mysql.sock --port=3307 &
[root@centos6-kvm3 data]# mysql -uroot -poldboy123 -S /tmp/mysql.sock
[root@centos6-kvm3 data]# ps -ef | grep mysql
mysql啟動參數設置:
1、預編譯時候設置參數,參數會硬編碼到程式中。
2、命令行方式設定啟動參數。
3、初始化的配置文件,/etc/my.cnf
啟動優先順序:2>3>1
影響到什麼?
①影響資料庫的啟動
[mysqld]
[mysqld_safe]
[server]
②影響到資料庫的鏈接
[mysql]
[mysqladmin]
[mysqldump]
[client]
2、mysql配置文件
配置文件案例:
[root@centos6-kvm3 data]# vim /etc/my.cnf
[mysqld]
basedir=/application/mysql
datadir/application/mysql/data
socket=/application/mysql/tmp/mysql.sock
port=3306
server_id=10
log-error=/var/log/mysql.log #錯誤日誌
log-bin=/application/mysql/data/mysql-bin
binlog_format=row
skip_name_resolve #跳過功能變數名稱解析
[mysql]
#客戶端
socket=/application/mysql/tmp/mysql.sock
[root@centos6-kvm3 data]# service mysqld start
Starting MySQL. SUCCESS!
[root@centos6-kvm3 data]# ps -ef | grep mysql
自定義配置文件啟動:
[root@centos6-kvm3 ~]# cat /tmp/aa.txt
[mysqld]
basedir=/application/mysql
datadir=/application/mysql/data
socket=/application/mysql/tmp/mysql.sock
port=3309
server_id=11
log-error=/var/log/mysql.log
log-bin=/application/mysql/data/mysql-bin
binlog_format=row
skip_name_resolve
[root@centos6-kvm3 data]# mysqld_safe --defaults-file=/tmp/aa.txt
[root@centos6-kvm3 ~]# ps -ef | grep mysql
3、配置mysql多實例
思路:
1、啟動多個mysqld進程
2、規劃多套數據
3、規劃多個埠
4、規劃多套日誌路徑
多實例配置
1、創建多套目錄
mkdir -p /data/330{7,8,9}
2、準備多套配置文件
vi /data/3307/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3307
server-id=3307
port=3307
log-bin=/data/3307/mysql-bin
socket=/data/3307/mysql.sock
log-error=/data/3307/mysql.log
vi /data/3308/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3308
server-id=3308
port=3308
log-bin=/data/3308/mysql-bin
socket=/data/3308/mysql.sock
log-error=/data/3308/mysql.log
vi /data/3309/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3309
server-id=3309
port=3309
log-bin=/data/3309/mysql-bin
socket=/data/3309/mysql.sock
log-error=/data/3309/mysql.log
3、初始化多套數據
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/data/3307 --user=mysql
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/data/3308 --user=mysql
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/data/3309 --user=mysql
4、啟動多個實例
mysqld_safe --defaults-file=/data/3307/my.cnf &
mysqld_safe --defaults-file=/data/3308/my.cnf &
mysqld_safe --defaults-file=/data/3309/my.cnf &
5、查看啟動埠
netstat -lnp |grep 330
6、分別連接測試
mysql -S /data/3307/mysql.sock -e "show variables like 'server_id';"
mysql -S /data/3308/mysql.sock -e "show variables like 'server_id';"
mysql -S /data/3309/mysql.sock -e "show variables like 'server_id';"
如果出現閃退,檢查是否埠已經被使用:需要關閉在用的埠
mysqladmin -uroot -poldboy123 -S /tmp/mysql.sock shutdown