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>