Mysql-01.安裝和配置(從新整理)

Windows操做系統下安裝和配置mysql

1、Mysql安裝sql

Window系統下Mysql安裝文件分爲msi和zip格式,其中msi格式能夠直接點擊安裝,按照安裝提示進行安裝配置便可,zip格式的則須要解壓,解壓完畢後須要手工配置才能夠正常運行。數據庫

2、Mysql配置安全

ZIP版本的Mysql下載到本地後,直接解壓即安裝完畢。如解壓路徑爲D:\Program Files\MySql,則Msql的配置和啓動路徑就在D:\Program Files\MySql\bin目錄下。ide

配置默認的環境變量:將D:\Program Files\MySql\bin加入系統的環境變量Path中;ui

1.修改mysql默認配製信息this

將my-default.ini修改成my.ini,修改my.ini內容,添加以下信息spa

basedir=D:\Program Files\MySql //Mysql程序目錄操作系統

datadir=D:\Program Files\MySql\data //數據庫存放目錄.net

port=3306 //端口號

[mysql] default-character-set=utf8 //默認字符集(和下面的不同)

[mysqld] character-set-server=utf8 //默認字符集(和上面的有區別)

 

2.安裝mysql服務

用管理員身份啓動命令行窗口(cmd以管理員身份啓動),進入D:\Program Files\MySql\bin目錄下,執行安裝mysql服務指令:mysqld install mysql,便可安裝mysql服務。安裝成功後,在Windows的服務裏面就會看到mysql服務(還未啓動)

說明: ①mysqld install mysql 前面的是安裝指令,後面的是服務名,默認服務名爲Mysql;

②也能夠安裝的時候制定配置文件,mysqld -install mysql --defaults-file="C:\MySQL\my.ini"。

注意點:①必定要以管理員身份啓動cmd命令行操做窗口;

②必須到Mysql安裝目錄的bin目錄下執行安裝服務的指令;

③安裝以前,查看一下有沒有data目錄,環境變量datadir配置的目錄下;

 

3.啓動/中止mysql服務

啓動mysql服務

執行net start mysq命令啓動服務,則會自動初始化,有可能配置成功,但大多數狀況下可能會出現服務沒法啓動,不要緊,使初始化命令進行初始化。

初使化以前請清空D:\MySQL_Data內的文件,執行初使化命令:

mysqld --initialize --user=mysql --console

執行完後cmd控制檯上會顯示一大堆英文,大概是說配置文件中缺乏參數。後期修改my.ini便可。

說明:首次安裝並啓動mysql常常會出問題,大概緣由是mysql的data目錄中沒有初始化數據致使,按照上述操做執行初始化以後,data目錄中會自動生成初始化數據,後續再執行啓動服務操做基本上就不會再報錯了。

啓動服務:net start mysql,服務成功啓動。

 

中止mysql服務

當須要中止mysql服務的以後,執行net stop mysql,便可中止名爲mysql的服務。

 

4.卸載mysql服務

執行mysqld remove mysql,便可刪除名爲mysql的服務。

 

3、.Mysql啓動問題

1.Mysql啓動後報MySQL ERROR 1045 : Access denied for user 'ODBC'@'localhost' (using password: NO)錯誤緣由以及解決辦法。

緣由:

因爲MySQL5.7在安裝完後,第一次啓動時,會在root目錄下生產一個隨機的密碼,文件名爲 .mysql_secret。因此,登陸時須要用隨機密碼登陸,而後經過「SET PASSWORD = PASSWORD(‘new password’);」命令修改密碼後才能正常訪問。若是忘記修改密碼,再次登陸Mysql的時候,後臺即會報上述錯誤。

window平臺下解決解決辦法:

1)關閉正在運行的服務;net stop mysql

2)管理員用戶打開一個cmd窗口,切換到mysql的bin目錄,運行以下命令

mysqld --defaults-file="C:\Program Files\MySQL\my.ini" --console --skip-grant-tables

釋:該命令經過跳過權限安全檢查,開啓mysql服務,這樣鏈接mysql時,能夠不用輸入用戶密碼。此時這個命令行窗口就被鎖定,再也不繼續執行。

3)管理員用戶再打開另一個cmd窗口,輸入mysql或者mysql -uroot -p,成功進入數據庫,此時命令行開頭變爲mysql>;

4)輸入show databases;命令,命令行會展現當前全部的數據庫;使用use mysql 切換到mysql數據庫;

5)使用UPDATE user SET Password=PASSWORD('newpassword') where USER='root';命令修改mysql數據庫的root用戶密碼;(Windows系統的mysql的root用戶密碼是123456)

6)用FLUSH PRIVILEGES;命令刷新權限,而後執行quit命令後退出;

7)從新使用mysql -u root -p登陸,提示輸入密碼,輸入新密碼便可登陸成功。

 

備註:

1)解決辦法中4和5能夠合併,執行UPDATE mysql.user SET Password = PASSWORD ('newpassword') where USER='root';便可修改mysql數據庫的root用戶命令。

2)執行5中的update語句時,可能會報ERROR 1054 (42S22): Unknown column 'password' in 'field list'錯誤,由於mysql 5.7版本數據庫下沒有Password字段了,而改成authentication_string,此時只須要把update語句中的Password替換爲authentication_string便可。

 

修改密碼的SQL指令:SET PASSWORD = PASSWORD('123456');

建立數據庫並制定字符集:CREATE DATABASE JForum DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

設置數據庫權限,併爲制定用戶設置密碼:grant select,insert,update,delete,create,drop on JForum.* to admin@localhost identified by '123456';

-----------------------------------------------------------------------------------------------------------

Linux操做系統下安裝和配置

1、Mysql安裝

操做系統選擇CentOS 7,CentOS 7的yum源中沒有正常安裝MySQL時的mysql-sever文件,須要去官網上下載(電腦要聯網啊,否則就只有把包上傳上去了)

 

[root@promote local]# wget http://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm

[root@promote local]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm

[root@promote local]# yum install mysql-community-server

 

安裝完畢後,密碼修改有些問題,參照:

 

2、Mysql修改密碼步驟

/*Linux安裝好mysql後,用root用戶登陸*/

[root@promote test]# mysql -u root -p

Enter password:             ——隨便輸入一個密碼,報錯

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

/*查看mysql安裝log中生成的鏈接密碼*/

[root@promote test]# cat /var/log/mysqld.log |grep password

2016-11-17T15:33:37.276548Z 1 [Note] A temporary password is generated for root@localhost: Z%Vxqbcw:8z+             ——此爲mysql安裝時的隨機密碼

[root@promote test]# mysql -u root -p

Enter password:             ——輸入隨機密碼,登陸成功

Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 7

Server version: 5.7.16

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>                            ——出現mysql>即表示鏈接成功

mysql> show databases;             ——查看數據庫信息

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.             ——提示須要更新密碼

mysql>

 

/*更新密碼操做步驟——重點啊*/

[root@promote test]# vi /etc/my.cnf

/*編輯my.cnf文件,在[mysqld]下第一行加入skip-grant-tables,表明不實用密碼登陸,保存退出*/

[root@promote test]# service mysqld restart         ——重啓mysql服務,是mysqld

[root@promote test]# mysql -u root                     ——無密碼登陸

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.7.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

/*無密碼登陸成功後執行修改密碼指令,mysql.user中的mysql爲數據庫名*/

mysql> update mysql.user set authentication_string = password('new_password'), password_expired = 'N', password_last_changed = now() where user = 'root';

Query OK, 1 row affected, 1 warning (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 1

mysql> FLUSH PRIVILEGES;             ——刷新權限

Query OK,1 rows affected (0.00 sec)

mysql> quit                                     ——退出mysql後

Bye

[root@promote test]# vi /etc/my.cnf                     ——修改my.cnf文件,刪除增長的記錄

[root@promote test]# service mysqld restart          ——重啓mysql服務

Redirecting to /bin/systemctl restart mysqld.service

[root@promote test]#                                             ——重啓成功

[root@promote test]# mysql -u root                         ——無密碼啓動,啓動報錯

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@promote test]# mysql -u root -p                     ——密碼登陸成功

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 

3、修改Mysql的默認字符集

分別執行show variables like 'character%';和show variables like 'collation%';指令,查看mysql默認安裝的字符集;如不是但願的字符集的話,修改my.cnf,設置字符集後重啓mysql便可。

/*修改步驟以下*/

[root@promote test]# vi /etc/my.cnf

【編輯my.cnf文件在[mysqld]最下面增長一行信息:character-set-server=utf8,保存編輯】

 

[root@promote test]# service mysqld restart             ——重啓mysql服務

Redirecting to /bin/systemctl restart mysqld.service

[root@promote test]# mysql -u root -p                     ——用戶登陸後查看字符集信息

Enter password:                                                         ——輸入密碼登陸成功,隱去了提示信息

 

mysql> show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)

 

mysql> show variables like 'collation%';

+----------------------+-----------------+

| Variable_name | Value |

+----------------------+-----------------+

| collation_connection | utf8_general_ci |

| collation_database | utf8_general_ci |

| collation_server | utf8_general_ci |

+----------------------+-----------------+

3 rows in set (0.00 sec)

 

mysql>

相關文章
相關標籤/搜索