服務器安裝部署mysql
1、下載地址
https://www.mysql.com/downloads/
選擇community server
2、選擇版本,當前選擇的5.7版本
3、點擊DOWLOAD
4、點擊下載mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz,選擇no thanks
5、將 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 上傳到 /usr/local 目錄下(可以使用wget下載不同版本)
rz -y
tar -xzf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
6、使用命令,對mysqll文件夾進行重命名
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
這個時候達到的效果是/usr/local/mysql/..(一堆解壓開的文件)
7、添加用戶組和用戶
#添加用戶組
groupadd mysql
#添加用戶mysql 到用戶組mysql
useradd -g mysql mysql
8、安裝
#在/usr/local/mysql目錄下新建data文件夾,以後的數據庫文件將放在這裏
mkdir data
依次執行以下命令:
[root@instance_4dbde0 mysql]# chown -R mysql:mysql ./
#mysql_install_db 被廢棄了,取而代之的是 mysqld –-initialize
[root@instance_4dbde0 mysql]# ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#將mysql/目錄下除了data/目錄的所有文件,改回root用戶所有
[root@instance_4dbde0 mysql]# chown -R root .
#mysql用戶只需作爲mysql/data/目錄下所有文件的所有者
[root@instance_4dbde0 mysql]# chown -R mysql data
#複製啓動文件
[root@instance_4dbde0 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@instance_4dbde0 mysq]# chmod 755 /etc/init.d/mysqld
[root@instance_4dbde0 bin]# cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
#修改啓動腳本
[root@instance_4dbde0 mysql]# vim /etc/init.d/mysqld
#修改項:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
port=3306
#啓動服務
[root@instance_4dbde0 mysql]# service mysqld start
#加入環境變量,編輯 /etc/profile,這樣可以在任何地方用mysql命令了
[root@instance_4dbde0 mysql]# vim /etc/profile
#添加mysql路徑
export PATH=$PATH:/usr/local/mysql/bin
#刷新立即生效
[root@instance_4dbde0 mysql]# source /etc/profile
配置以上信息之後,基本就可以啓動了mysql(如果不能啓動,請看最後的配置文件),但是現在還缺少mysql的配置文件,即my.cnf文件(沒有它Mysql也可以使用內置的默認參數啓動),最後說
接下來就可以使用命令登錄mysql了
[root@instance_4dbde0 bin]# mysql -uroot -p
Enter password:
#如果登不進去,則改my.cnf配置文件,跳過驗證登錄,在[mysqld]後面任意一行添加“skip-grant-tables”用來跳過密碼驗證的過程,如下圖所示:
vim /etc/my.cnf 添加 skip-grant-tables
#重新啓動,登錄
ps -ef | grep mysql
kill -9 (進程號)
service mysqld start
mysql -uroot
#修改密碼
use mysql;
update user set authentication_string=password("新密碼") where user='root';
flush privileges;
exit;
注意:登陸成功後如果使用命令出現如下情況
也即:登陸成功後,使用任何命令都出現 1820錯誤:
那麼直接使用如下命令,即可解決
SET PASSWORD = PASSWORD('root');(此時密碼設置爲root)
Mysql權限控制 - 允許用戶遠程連接
在本機先使用root用戶登錄mysql: mysql -u root -p"youpassword" 進行授權操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
重載授權表:
FLUSH PRIVILEGES; 一定要執行!!!
退出mysql數據庫:
exit
mysql主從複製
登錄主機 mysql -u root -p
輸入密碼...
1.首先修改mysql的配置文件,使其支持二進制日誌功能。
打開主服務器的mysql配置文件:my.conf
代碼:# vim /etc/my.cnf
加入如下代碼:
server-id=1 1、[必須] 主服務器唯一id
log-bin=mysqlbin 2、[必須] 啓用二進制日誌
配置完成,:wq 保存,重啓mysql
ps -ef | grep mysql
kill -9 (進程號)
service mysqld start
登錄從機 mysql -u root -p
輸入密碼...
配置從服務器的my.cnf,重複步驟1即可,
唯一的區別是,server-id要改成從服務器的ip尾位,即server-id=2;其他兩項是一樣的,保存,並重啓mySQL;
2.在主服務器上爲從服務器分配一個賬號,就像一把鑰匙,從服務器拿着這個鑰匙,才能到主服務器上來共享主服務器的日誌文件。
進入主服務器的mysql界面,
命令: # mysql -u root -p 密碼 //我這裏mysql賬號是root,密碼
在mysql操作界面下,輸入下面一行命令:
GRANT replication slave ON *.* TO 'slave'@'從機數據庫ip' IDENTIFIED BY '密碼';
flush privileges;
3.查看主服務器BIN日誌的信息(執行完之後記錄下這兩值,然後在配置完從服務器之前不要對主服務器進行任何操作,因爲每次操作數據庫時這兩值會發生改變).
show master status;
4.設置從服務器
進入從服務器mysql
mysql -u root -p
輸入密碼...
關閉slave(如果你以前配置過主從的話,一定要先關閉)
stop slave;
輸入下面代碼即可:
change master to master_host='主機數據庫ip',
master_user='zhangsan',
master_password='123456',
master_log_file='mysqlbin.具體數字',
master_log_pos=具體值;
start slave;
show slave status/g; --key v 鍵值對顯示
上面兩項均爲yes,說明配置成功,否則,請重複前面的步驟。:
slave_io_running: yes
slave_sql_running:yes
沒有問題的話就成功了
參考鏈接:##
https://www.cnblogs.com/kanyun/p/8075414.html
https://www.cnblogs.com/superfat/p/5267449.html