MySQL 數(shù)據(jù)庫安裝:
我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、和平ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的和平網(wǎng)站制作公司
服務(wù)器IP 地址規(guī)劃:
主服務(wù)器 IP 172.20.2.46 從服務(wù)器 IP 172.20.2.47
二、安裝mysql服務(wù)器
1.將下載好的安裝到解壓到/usr/local目錄下
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
2.進入/usr/local目錄
cd /usr/local/
3.為mysql安裝目錄創(chuàng)建軟鏈接
ln -s mysql-5.7.22-linux-glibc2.12-x86_64 mysql
4.為centos添加mysql用戶組和mysql用戶(-s /bin/false參數(shù)指定mysql用戶僅擁有所有權(quán),而沒有登錄權(quán)限)
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
5.進入安裝mysql軟件的目錄,命令如下
cd /usr/local/mysql
6.修改當(dāng)前目錄擁有者為新建的mysql用戶,命令如下:
chown -R mysql:mysql ./
7.安裝mysql,命令如下:
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
8.如果出現(xiàn)如下圖所示則為安裝成功,系統(tǒng)默認(rèn)生成密碼。
9.開啟mysql服務(wù),命令如下:
./support-files/mysql.server start
如果出現(xiàn)如下錯誤,則說明mysql配置文件/etc/my.cnf中的路徑不對,修改內(nèi)容如下,datadir和socket都修改成mysql的安裝目錄下,增加[client]板塊,用于命令行連接mysql數(shù)據(jù)庫。
########################################################################
[mysqld]
port=3306
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
max_connections=151
symbolic-links=0
lower_case_table_names = 1
character-set-server=utf8
collation-server=utf8_general_ci
bind-address = 0.0.0.0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#指定客戶端連接mysql時的socket通信文件路徑
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
##########################################################################################################
9.重新開啟mysql服務(wù),如下圖所示則開啟成功!
./support-files/mysql.server start
10.將mysql進程放入系統(tǒng)進程中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
11.重新啟動mysql服務(wù),命令如下:
./support-files/mysql.server start
12.配置mysql環(huán)境變量
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
保存退出,再編譯下:
source /etc/profile
13.使用隨機密碼登錄mysql數(shù)據(jù)庫,命令如下:
mysql -u root -p
輸入隨機密碼登錄成功如下圖所示:
14.進入 mysql 操作行,為root用戶設(shè)置新密碼(這里設(shè)置為 youpassword):
1、 修改用戶密碼
mysql> alter user 'root'@'localhost' identified by 'youpassword'; ?
或者 ? ? ??
mysql>?set password=password("youpassword");
2、刷新權(quán)限
mysql> flush privileges;
#################################################################
主從配置過程:
主服務(wù)器 IP 172.20.2.46 從服務(wù)器 IP 172.20.2.47
1)主服務(wù)器配置:
[root@MySQL-M ~]# vim /etc/my.cnf # 添加以下內(nèi)容。
[mysqld]
#給服務(wù)器一個唯一的ID。
server_id=46
#開啟二進制日志。
log-bin=mysql-bin # mysql-bin 為日志名字。
#指定二進制日志格式。
binlog-format=mixed
備注:
#############################################
mixed #
row # 二進制記錄的是磁盤。
stateement # 二進制記錄執(zhí)行語句,如 update
###############################################
哪個好?
update age=age+1 where id=3; // 語句長而磁盤變化少,宜用row
update salary=salary+100; // 語句短,但影響上萬行,磁盤變化大,宜用stateement
mixed ,混合的,由系統(tǒng)根據(jù)語句,來決定。
########################################################################
2)從服務(wù)器配置:
[root@MySQL-S ~]# vim /etc/my.cnf
[mysqld]
#給服務(wù)器一個唯一的ID。
server-id=47
#開啟二進制日志。 ## 一方面恢復(fù)以后數(shù)據(jù)丟失使用,也可以做一主多從使用。建議打開。
log-bin=mysql-bin
#指定二進制日志格式。
binlog-format=mixed
relay-log=mysql-relay
########################################################################
兩臺服務(wù)器啟動服務(wù)。
[root@MySQL-M mysql]# ./support-files/mysql.server restart
[root@MySQL-S mysql]# ./support-files/mysql.server restart
########################################################################
主服務(wù)器操作:
[root@MySQL-M ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20220
Server version: 5.7.22-log MySQL Community Server (GPL)
mysql>
查看 master 是否有充當(dāng) master 的狀態(tài)條件 。
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | Position # 字節(jié)偏移處。
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 1559 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
主服務(wù)器授權(quán):
mysql> grant replication client,replication slave on . to repl@'172.20.2.%' identified by 'repl';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
########################################################################
從服務(wù)器操作:
mysql> change master to
-> master_host='172.20.2.46',
-> master_user='repl',
-> master_password='repl',
-> master_log_file='mysql-bin.000001',
-> master_log_pos=1559;
Query OK, 0 rows affected, 2 warnings (0.05 sec)
mysql> show slave status;
+----------------------------------+-------------+-------------+-------------+---------------+------------------+---------------------+--------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+--------------
mysql> show slave status \G
1. row
Slave_IO_State: Waiting for master to send event
Master_Host: 172.20.2.46
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 1559
Relay_Log_File: mysql-relay.000003
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
啟動從服務(wù)器功能
mysql> start slave;
########################################################################
測試:
主服務(wù)器:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| haha |
| mysql |
| performance_schema |
| sys |
| test8 |
| zabbix |
+--------------------+
7 rows in set (0.01 sec)
mysql> create database wagnbo
-> ;
Query OK, 1 row affected (0.01 sec)
從服務(wù)器:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| haha |
| mysql |
| performance_schema |
| sys |
| test |
| test8 |
| wagnbo |
| zabbix |
+--------------------+
9 rows in set (0.00 sec)
########################################################################