環(huán)境:centos7 mysql5.5.62
首先一定要卸載干凈
1.卸載原有程序
yum remove mysql mysql-server mysql-libs
2.查看是否還有mysql
rpm -qa | grep -i mysql
3.查看殘留的目錄:
whereis mysql #應該會輸出 /usr/lib64/mysql
4.刪除mysql目錄:
rm -rf /usr/lib64/mysql
5.刪除相關文件:
rm -rf /etc/my.cnf
rm -rf /root/.mysql_sercret
6.最關鍵的(如果這個目錄如果不刪除妇押,再重新安裝之后喂分,密碼還是之前的密碼碌廓,不會重新初始化):
rm -rf /var/lib/mysql
7.查看~目錄或其他相關目錄下是否有隱藏的.my.cnf文件敬锐,一并刪除(我就是在這個坑里折騰了一整天)
8.卸載自帶的mariadb
檢查是否存再mariadb
rpm -qa | grep mariadb
用yum remove卸載相關包
以上卸載就完成了。
安裝參考https://blog.csdn.net/StenisGate/article/details/90740163已經寫的很詳細了
1.下載mysql相對應的版本
官網下載地址:https://dev.mysql.com/downloads/mysql/
- 解壓安裝包
tar -zxvf mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
重命名為mysql
cd /usr/local
mv mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz mysql
3.安裝依賴
yum install -y libaio
yum -y install autoconf
4.添加用戶授權并安裝
添加用戶呆瞻,將使用該用戶執(zhí)行MySQL進程
useradd -s /bin/false -M mysql
修改MySQL目錄權限
chown -R mysql:mysql /usr/local/mysql
安裝并指定用戶和data文件夾位置
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql
更改所屬用戶和組台夺,除了mysql目錄下的data目錄所屬用戶不變,其他所有文件的所屬用戶改回root
chown -R root /usr/local/mysql/
chown -R mysql /usr/local/mysql/data/
5.拷貝配置文件痴脾,將mysql的配置文件拷貝為/etc/目錄下的my.cnf颤介,若提示已存在直接覆蓋
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
拷貝啟動程序,將mysql的啟動程序拷貝到/etc/init.d/目錄下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
6.安裝完成啟動服務
service mysqld start
看到success表示啟動成功
7.配置環(huán)境變量
加入環(huán)境變量明郭,編輯/etc/profile买窟,這樣可以在任何地方用mysql命令了
echo "export MTSQL_HOME=/usr/local/mysql" >> /etc/profile
echo "export PATH=$MYSQL_HOME/bin:$PATH" >> /etc/profile #根據實際情況修改
source /etc/profile #重新載入
首次修改密碼
mysqladmin -u'root' password 'root'
之后修改密碼
mysqladmin -u'root' -p'PassWord' password 'NewPassWord' SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
設置數據庫表名不區(qū)分大小寫(這個常用配置不要忘記)囊骤,編輯 my.conf
vim /etc/my.cnf
在[mysqld]后面加入一行
lower_case_table_names = 1
重啟mysql生效
常用命令
啟動
service mysqld start
關閉
service mysqld stop
重新啟動
service mysqld restart
查看運行狀態(tài)
service mysqld status
允許遠程用戶登錄訪問(登入mysql后操作)
grant all on *.* to 'root'@'%' identified by '123' with grant option;
刷新權限(登入mysql后操作)
flush privileges;
MySQL添加開機自啟動
1茫经、將服務文件拷貝到init.d下九孩,并重命名為mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2爆存、賦予可執(zhí)行權限
chmod +x /etc/init.d/mysqld
3官觅、添加服務
chkconfig --add mysqld
4仇味、顯示服務列表
chkconfig --list
如果看到mysql的服務期犬,并且3,4,5都是on的話則成功叁巨,如果是off年堆,則鍵入
chkconfig –level 345 mysqld on
創(chuàng)建用戶和表并授權
1吞杭、創(chuàng)建用戶
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
CREATE USER 'zhangkuan'@'localhost' IDENTIFIED BY '123456';
2、創(chuàng)建庫
CREATE DATABASE databasename;
CREATE DATABASE zhangkuan;
3变丧、授權
GRANT PRIVILEGES ON databasename.tablename TO 'username'@'host'芽狗;
GRANT SELECT, INSERT ON guitu.user TO 'guitu'@'%';
GRANT ALL ON guitu.* TO 'guitu'@'%';
4、授權用戶擁有授權權限
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
GRANT ALL ON zhangkuan.* TO 'guitu'@'%' WITH GRANT OPTION;
5痒蓬、撤銷用戶權限
REVOKE privilege ON databasename.tablename FROM 'username'@'host';