linux自帶mysql
linux伺服器mysql資料庫配置
mysql最流行的關系型資料庫之一,目前隸屬於oracle公司,因體積小、速度快、總體擁有成本低,開放源代碼這一特點,所以是我們日常開發的首選。
工具/原料
mysql5.6
cnetos
方法/步驟
查找以前是否安裝有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果顯示有如下包則說明已安裝mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
如果已安裝,則需要刪除已安裝的資料庫,使用以下命令來刪除資料庫
刪除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
刪除老版本mysql的開發頭文件和庫
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸載後/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用後就手工刪除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
下載mysql的rpm包
可以通過wget下載具體的地址因為不能用鏈接請大家去官網去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL伺服器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客戶端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql開發依賴包。
下載後放到Liunx伺服器中,如圖所示
安裝MySQL Server的rpm包
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安裝過程如圖所示
安裝完成後會生成root用戶的隨機密碼,請使用「cat /root/.mysql_secret」或類似命令進行查看。
安裝MySQL客戶端
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
安裝MySQL開發依賴包
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
啟動msyql
安裝完成後mysql是沒有啟動的,運行mysql命令會提示如下錯誤:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
可使用如下命令啟動MySQL:
service mysql start
或者使用如下命令:
/etc/init.d/mysql start
可使用SET PASSWORD命令修改root用戶的密碼,參考如下:SET PASSWORD = PASSWORD('root123456');
B. 為什麼安裝了Linux自帶的mysql中沒有mysqld
因為這2個是獨立的。你需要安裝mysql-server才可以。
C. 《從0到1 最詳細MySQL安裝流程(Linux環境)
查看伺服器是否有自帶的MySQL,如果有可以直接使用,如果自帶的版本比較低,可以刪除然後安裝自己想要的版本 (在安裝新版本MySQL之前,需要卸載伺服器自帶的MySQL包和MySQL資料庫分支mariadb的包)
1、rpm -qa|grep mysql -- 查詢伺服器是否有mysql,如有,則執行下面的語句進行刪除
2、rpm -qa |grep mariadb -- 查詢伺服器是否有mariadb,有則執行第三步進行刪除
3、rpm -e --nodeps 要刪除的文件名( nodeps表示強制刪除 )
小貼士1: 如果使用rz命令時提示找不到命令,直接執行: yum -y install lrzsz 則可以在線下載。
命令: rz 或者rz -be
格式: rz -be 選擇需要上傳的文件
批量或者單個上傳文件,通過ZMODEM協議,除此之外,還可以通過ftp或者sftp進行上傳
按照下面的命令順序執行,文件名修改成你壓縮後的文件名稱即可
啟動命令: systemctl start mysql
報錯信息: Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
根據報錯信息執行 : systemctl status mysqld.service" 或者 "journalctl -xe"命令查看報錯詳情,發現報錯信息中存在: Data Dictionary upgrade from MySQL 5.7 in progress 。
說明是因為新版本和之前伺服器自帶的版本對應的包存在沖突,刪除對應的沖突目錄即可,執行: rm -rf /var/lib/mysql/*(執行刪除命令的時候要看清楚哦)
systemctl start mysql -- 啟動伺服器
第一次成功啟動MySQL會被設置默認一個密碼,通過以下命令查看並進行登錄。
1、查看第一次啟動的臨時密碼 :grep password /var/log/mysqld.log
2、連接到伺服器 : mysql -u root -p 回車,然後輸出密碼
3、第一次連接會強制你必須修改連接密碼 ,可以使用以下的語句進行修改密碼:
ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY ' (MySQL8.x適合使用這個語句)
UPDATE USER SET PASSWORD=PASSWORD('你的密碼') WHERE USER='root' (MySQL5.x版本的修改)
D. linux下安裝Mysql必須要新建叫mysql的用戶組和用戶嗎
編譯不需要,但是安裝需要。
之所以安裝的腳本不自動給你創建好用戶跟用戶組,是因為每個 Linux 發行版創建用戶的方法都不同(其實只是略有不同,但完全兼容很困難)。
如果你使用發行版自帶的 mysql,那麼發行版的安裝包已經把這些工作做了,所以直接使用發行版自帶的 mysql 會自動幫你創建相關用戶跟用戶組。
如果你自行編譯 mysql,從 mysql 源代碼開發者的角度不可能主動去做所有發行版的適配,所以只能讓你自己去創建用戶跟用戶組。
Mysql —— C語言鏈接mysql資料庫,用戶 角色 許可權 用戶組(新增了用戶組)
chengelog:
1、新增 添加用戶組模塊;
2、新增 顯示用戶組模塊;
3、修改 新增用戶模塊 選擇 其所屬用戶組 並把用戶id與用戶組id 寫入用戶用戶組關系表;
4、新增 修改用戶以及刪除用戶組模塊(有用戶屬於該用戶組 用戶組名字不允許更改 用戶組不允許刪除);
5、新增 增加用戶、用戶組時候,若要增加的用戶名已存在(給出用戶存在的提示信息);
6、修改了 顯示的界面問題;
7、修改部分switch case 輸入為字元;
8、修改部分 操作完成後 有兩次回車 確認的問題;
遺留的問題:
1、switch case 輸入為字元,應該改為case a:bresk; case b:break;…… 否則輸入的1與10是一樣的執行結果;
字元中只有數字0-9;
2、在remark欄位中 scanf()函數是不允許輸入空格的。
E. linux哪些版本自帶mysql資料庫
redhat5這個版本的自帶有mysql,但需要你掛載(掛載命令:mount /dev/cdrom /mnt/cdrom)一下,才能安裝使用,第1步:在/mnt目錄下新建一個空目錄cdrom(mkdir /mnt/cdrom),然後執行掛載命令:mount /dev/cdrom /mnt/cdrom,在/mnt/cdrom/Server目錄下安裝mysql,rpm -ivh 資料庫的包名(可能需要你安裝依賴包,都在該目錄下,用命令:ll | grep 依賴包名),啟動mysqld服務就行了。