在Centos7.6 上安裝mysql
ps:一般mysql安裝后會在/var/log/下面生成一個mysqld.log檔案,如果遇到啟動不了或者其他問題,基本都可以在這個log檔案里面找到錯誤原因
1.下載mysql和安裝
1.1 有梯子,可以使用下面的方法
二、先下載Linux下的Mysql包,打開Mysql官網 https://www.mysql.com/ 點擊DOWNLOAD,進入 https://www.mysql.com/downloads/
到頁面最底部,點擊社區版 community(GPL)Downloads>>,進入 https://dev.mysql.com/downloads/
繼續點擊社區版服務器,進入
https://dev.mysql.com/downloads/mysql/

三、選擇版本及系統,點擊右側的Download,進入頁面

四、最后開始下載

五、下載完成后的包串列,選擇版本不同,后面的版本號可能不同,這個沒有關系

陳列如下 mysql-community-client-8.0.16-2.el7.x86_64.rpm mysql-community-common-8.0.16-2.el7.x86_64.rpm mysql-community-devel-8.0.16-2.el7.x86_64.rpm mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm mysql-community-libs-8.0.16-2.el7.x86_64.rpm mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm mysql-community-server-8.0.16-2.el7.x86_64.rpm mysql-community-test-8.0.16-2.el7.x86_64.rpm
此方法來自https://www.cnblogs.com/lukefan/p/10406522.html
1.2 沒有梯子,請使用下面的方法
一、獲取mysql YUM源 打開網址:https://dev.mysql.com/downloads/repo/yum/,選擇對應linux版本
點擊“No thanks, just start my download.”,進行下載

將下載地址復制,得到rpm包的地址

此方法來源https://www.cnblogs.com/lemon-feng/p/11233227.html
這兩種方法的區別是是否要在服務器上下載后面的安裝包,按照后面的方法,服務器下載時網速渣的要命(感謝長城),但是可以斷點,下次繼續下載
在后續安裝的時候,可以按照選擇的不同辦法進行安裝,其實都是大同小異,在安裝完成之后,建議采用下面的辦法進行初始化和配置
2.初始化和配置
順序執行以下陳述句
mysqld
mysqld --initialize --user=mysql
mysqld --initialize --lower-case-table-names=1 #此設定是設定大小寫是否敏感,可前往https://blog.csdn.net/jesseyoung/article/details/40617031查看是否需要設定
#ps:在mysql8中,大小寫敏感設定需要在初始化的時候進行設定,后面在配置中進行更改是無效的,所以慎重選擇,不然就需要重裝,,,,
查看初始密碼:
cat /var/log/mysqld.log #或者 cat /var/log/mysqld.log | grep password 或者檔案系統進入/var/log/mysqld.log進行查看
啟動mysql服務:
service mysqld start
查看一下服務狀態是否啟動:
service mysqld status
登入資料庫:
mysql -uroot -p

輸入或者復制進剛才的隨機密碼

下面會出現一個輸入命令的地方

值得注意的是,在mysql中,每一個執行陳述句后面要加上一個英文分號,不然不會執行,如果忘記加了,可以在下面的">"后面輸入英文分號然后回車,例如

設定遠程訪問授權
mysql -u root -p //登錄資料庫,如果已經登入,不需要再執行 use mysql //進入mysql資料庫,如果已經進入,不需要再執行
select Host,User from user; //查看可以訪問資料庫的ip
select 'host' from user where user='root';
update user set host = '%' where user ='root'; //將默認的localhost更新為%,%是默認全部可以訪問,localhost只是本地可訪問,還可以指定公網ip grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;
輸入exit退出,打開防火墻開放3306埠,此步驟不在mysql里面執行
如果沒有開啟防火墻,則輸入:systemctl start firewalld 開啟

輸入下面命令,開放3306埠
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

配置默認編碼為UTF-8,此步驟不在mysql里面執行
修改/etc/my.cnf組態檔,在[mysqld]下添加編碼配置,如下所示:
(這個步驟可以使用vim或者xftp進行修改)
character_set_server=utf8
init_connect='SET NAMES utf8'

編輯保存完重啟mysql服務: systemctl restart mysqld

查看下編碼:mysql> show variables like '%character%';

此時,外部如果還是不能連接上資料庫(可查看https://www.cnblogs.com/zzqit/p/10095597.html),首先查看安全規則組,看是否打開了3306埠

更改密碼
更改密碼,其實就是更改上面user對應的密碼,舉例:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
這一句話,里面root對應上面的user列,localhost對應host列

如果我這句話寫成:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'TiLaMiSu13213#13';
就會報以下錯誤:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'

,意思就是找不到對應的user和host,無法進行密碼設定,所以這個地方要對應起來才可以
我們如果想更改遠程連接rootr的密碼,就把上面這句話改成
ALTER USER 'rootr'@'%' IDENTIFIED WITH mysql_native_password BY '你的密碼';
這個地方需要自己去設定修改,別直接復制粘貼
設定開機啟動:
在/usr/lib/systemd/system/檔案夾下創建一個mysql.service,然后進行編輯
#ExecStart 目錄可在執行which mysqld 進行查詢,注意不要少d
[Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=root Group=mysql ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
保存后,然后依次執行
systemctl daemon-reload #重新加載服務組態檔
systemctl start mysql #啟動mysql
systemctl enable mysqld #設定開機啟動
systemctl status mysql #查看mysql的狀態
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/70572.html
標籤:MySQL
上一篇:Mysql(Mariadb)慢查詢日志中long_query_time 與log_queries_not_using_indexes與min_examined_row_limit 關系分析


