一、完全卸載Mysql
- 首先用 dpkg --list | grep mysql 查看自己的mysql有哪些依賴
- 卸載mysql相關應用 apt-get remove mysql*
- 再用 dpkg --list|grep mysql 查看,還剩什麼就卸載什麼
-
最後清除殘留數據:
dpkg -l | grep ^rc | awk '{print $2}' | sudo xargs dpkg -P
-
保險起見再執行以下命令:
apt-get remove mariadb-client
apt-get autoremove mariadb-client
apt-get remove mariadb-server
apt-get autoremove mariadb-server
如果提示沒有安裝所以不用刪除說明刪乾淨了
二、安裝Mariadb
這裏因爲kali的版本沒有mysql的包,所以來安裝Mariadb
apt-get install mariadb-client-10.3
apt-get install mariadb-server-10.3
如果不指定版本安裝的就是最新的
之後輸入vim /etc/mysql/my.cnf,添加以下內容:
[client-server]
port=3306
socket=/tmp/mysql.sock
[mysql]
#default-character-set=utf8
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql
character-set-server=utf8
tmpdir=/tmp
:wq! 保存
然後配置mysql開機自啓動, sudo systemctl enable mysql
啓動mysql, service mysql start
三、配置Mariadb數據庫
- 命令行下輸入mysql ,進入Mariadb命令行界面
- show databases;
- use mysql
- show tables;
- desc user;
- select User, Host, Password from user;
- 爲root用戶設置密碼 update user set Password=password('123456') where User='root';
- flush privileges;
- Ctrl + D退出Mariadb命令行,驗證密碼是否設置成功
- mysql -u root -p
- Mariadb用戶權限與管理【轉】MariaDB/MySQL用戶和權限管理
四、Mariadb密碼無效
在新版的Mariadb安裝過程中沒有設置密碼的過程了,而在命令行你發現直接用mysql就可以登錄數據庫,完全不用密碼,然而你用其他的mysql管理工具使用密碼無論如何都會提示 Access denied for user ‘root’@‘localhost’ 。
Mariadb在5.2.0以後的版本默認不再使用密碼認證了,改用Authentication Plugin - Unix Socket插件認證。具體參考https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/
##解決方法:
雖然這是爲了提高安全性,但有的地方我們必須使用密碼認證登錄,因此我們就要修改驗證爲密碼的方式。直接在命令行輸入 mysql 登錄數據庫。使用以下命令修改
use mysql;
update mysql.user set plugin='mysql_native_password' where User='root';
flush privileges;