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