數據庫學習之三:mysql的基本管理

3、mysql的基本管理

一、數據庫關閉啓動

數據庫啓動流程:

mysql

關閉:
[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啓動參數設置:
一、預編譯時候設置參數,參數會硬編碼到程序中。
二、命令行方式設定啓動參數。
三、初始化的配置文件,/etc/my.cnf
啓動優先級:2>3>1
影響到什麼?
①影響數據庫的啓動
[mysqld]
[mysqld_safe]
[server]

②影響到數據庫的連接
[mysql]
[mysqladmin]
[mysqldump]
[client]

二、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

三、配置mysql多實例

思路:
一、啓動多個mysqld進程
二、規劃多套數據
三、規劃多個端口
四、規劃多套日誌路徑

多實例配置
一、建立多套目錄
mkdir -p /data/330{7,8,9}
二、準備多套配置文件
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
三、初始化多套數據
/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
四、啓動多個實例
mysqld_safe --defaults-file=/data/3307/my.cnf &
mysqld_safe --defaults-file=/data/3308/my.cnf &
mysqld_safe --defaults-file=/data/3309/my.cnf &
五、查看啓動端口
netstat -lnp |grep 330
六、分別鏈接測試
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
相關文章
相關標籤/搜索