三、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
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/46559.html
標籤:MySQL
下一篇:資料庫學習之四:資料庫用戶管理
