1. 程式人生 > >mysql安裝與卸載

mysql安裝與卸載

mysql

卸載

首先,刪除老版本mysql相關
一. 查看服務器中有沒有安裝過MySQL

  1. 查看有沒有安裝包:
    rpm -qa|grep mysql
    yum list mysql*
  2. 刪除老版本mysql相關軟件
    yum remove mysql mysql-server mysql-libs compat-mysql51
    rm -rf /var/lib/mysql
    rm /etc/my.cnf

下載mysql

####下載rpm安裝包####
1、配置YUM源
在MySQL官網中下載YUM源rpm安裝包:https://dev.mysql.com/downloads/repo/yum/

下載mysql源安裝包

shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安裝mysql源

shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
檢查mysql源是否安裝成功shell> yum repolist enabled | grep "mysql.-community."

[root@localhost ~]# yum repolist enabled | grep "mysql.-community."
mysql-connectors-community/x86_64 MySQL Connectors Community 51

mysql-tools-community/x86_64 MySQL Tools Community 63
mysql57-community/x86_64 MySQL 5.7 Community Server 267
看到上圖所示表示安裝成功。

安裝

2、安裝MySQL
shell> yum install mysql-community-server
3、啟動MySQL服務
shell> systemctl start mysqld
查看MySQL的啟動狀態
shell> systemctl status mysqld

[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2018-05-07 14:36:16 UTC; 11min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 36800 (mysqld)
CGroup: /system.slice/mysqld.service
└─36800 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

May 07 14:36:03 localhost systemd[1]: Starting MySQL Server...
May 07 14:36:16 localhost systemd[1]: Started MySQL Server.

4、開機啟動
shell> systemctl enable mysqld
shell> systemctl daemon-reload

  1. 查看開機啟動設置是否成功

    chkconfig --list | grep mysql*

    mysqld 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉停止

  2. 登錄 mysql

    mysql -u root -p

#如果忘記密碼解決,查看下面的問題
7、修改root本地登錄密碼
mysql安裝完成之後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。通過下面的方式找到root默認密碼,然後登錄mysql進行修改:

shell> grep ‘temporary password‘ /var/log/mysqld.log

shell> mysql -u root -p
mysql> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘MyNewPass4!‘;
或者

進入mysql後首先我們修改下登錄密碼“
mysql> set password for ‘root‘@‘localhost‘=password(‘123qaz!‘);

新密碼寫在小括號裏

註意:mysql5.7默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤,如下圖所示:

通過msyql環境變量可以查看密碼策略的相關信息:

mysql> show variables like ‘%password%‘;

MySQL官網密碼策略詳細說明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy

修改密碼策略
在/etc/my.cnf文件添加validate_password_policy配置,指定密碼策略

選擇0(LOW),1(MEDIUM),2(STRONG)其中一種,選擇2需要提供密碼字典文件

validate_password_policy=0
如果不需要密碼策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off
重新啟動mysql服務使配置生效:

systemctl restart mysqld

默認配置文件路徑:

配置文件:/etc/my.cnf
日誌文件:/var/log//var/log/mysqld.log
服務啟動腳本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid

################重置mysql密碼##################
如果忘記root密碼,則按如下操作恢復:
systemctl stop mysql #關閉mysql服務
find / -name my*.cnf #查找my.cnf配置文件(找到my.cnf文件)
在[mysqld]的段中加上一句:skip-grant-tables 保存並且退出vi。
systemctl start mysql ##啟用mysql服務
mysql -u root
update mysql.user set authentication_string=password(‘123qwe‘) where user=‘root‘ and Host = ‘localhost‘;
或者(update mysql.user set password=PASSWORD(‘密碼‘) where user=‘root‘;)
flush privileges;
exit;
systemctl restart mysql #重啟mysql服務

1.查看初始化密碼:
[root@lone-centos67 ~]# grep ‘temporary password‘ /var/log/mysqld.log

修改密碼
mysql> alter user root@localhost identified by ‘xxx‘;
新密碼要求,必須包含大小寫字母數字及符號。

關閉密碼復雜度驗證:
在my.cnf添加validate_password=off
</apj1+mshge
</apj1+mshge

############################################

  1. 遠程訪問 開放防火墻的端口號mysql
    1.增加權限

    mysql庫中的user表新增一條記錄host為“%”,user為“root”

  2. Linux MySQL 幾個重要 的目錄
    數據庫目錄 /var/lib/mysql/
    配置文件 /usr/share /mysql(mysql.server命令及配置文件)
    相關命令 /usr/bin(mysqladmin mysqldump等命令)
    啟動腳本 /etc/rc.d/init.d/(啟動腳本文件mysql的目錄)

6.刪除mysql數據庫
#如果使用的是yum安裝的mysql,需要刪除的話,就是用如下命令:

yum -y remove mysql*

然後將/var/lib/mysql文件夾下的所有文件都刪除幹凈

然後在重新執行上面的安裝步驟

7.授權用戶從遠程登錄
註意:下面兩個步驟都需要執行.步驟一,只是修改了用戶的密碼.但是並沒有對用戶進行授權;步驟二的作用就是授權,讓用戶可以指定權限(連接誒數據庫,查詢數據庫...)

  1. 改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"
    mysql -u root -pvmware;
    mysql>use mysql;
    mysql>update user set host = ‘%‘ where user = ‘root‘;
    mysql>select host, user from user;
  2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。
    GRANT ALL PRIVILEGES ON . TO ‘myuser‘@‘%‘ IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;
    如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql服務器,並使用mypassword作為密碼
    GRANT ALL PRIVILEGES ON . TO ‘myuser‘@‘192.168.1.3‘ IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;

8.註意
註意:
1.【下面這一句一定要執行,否則還是無法登陸】
mysql>flush privileges ;
2.如果用戶無法從本地登陸,這個時候就執行如下
GRANT ALL PRIVILEGES ON . TO ‘root‘@‘localhost.localdomain‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;

flush privileges ;

################################################
註意:防火墻一定要記得關閉,否則也是不能遠程連接的
linux7關閉防火墻:
1.查看防火墻狀態:systemctl status firewalld
2.查看開機是否啟動防火墻服務: systemctl is-enabled firewalld
3.關閉並查看防火墻:systemctl stop firewalld / systemctl status firewalld
4.禁用防火墻(開機不啟動)systemctl disable firewalld / systemctl is-enabled firewalld

####################初始化多實例數據庫#######################
1)5.1.X初始化命令:(mysql.bin)
mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql
2)5.5.32初始化命令:(cd /application/mysql/scripts)
./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql

mysql安裝與卸載