我發現(待考證)作為客戶機安裝 mysql-server 會沒有讓設定密碼的步驟,而在伺服器上安裝時會有。(據說是5.7版本以後都沒有設定密碼的不知)。
對於沒有讓設定密碼的情況,mysql在安裝過程中為root設定了乙個隨機的且失效的密碼。總而言之,只要你沒有密碼,就來一遍就對了。
1.1 安裝
# 安裝mysql服務
sudo apt-get install mysql-server
# 安裝客戶端
sudo apt install mysql-client
# 安裝依賴
sudo apt install libmysqlclient-dev
# 檢查狀態
sudo netstat -tap | grep mysql
# 如果報錯沒有找到命令 netstat,需要安裝 net-tools,然後在檢視狀態
sudo apt install net-tools
1.2 設定密碼
直接看流程記錄:
$ sudo su
$ mysql
mysql> select
user, plugin from mysql.user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+
4 rows in set (0.00 sec)
# 這個是重要的一步
mysql> update mysql.user
set authentication_string=password('root'), plugin='mysql_native_password'
where
user='root';
mysql> flush privileges;
mysql> exit
bye# 重啟服務
$ sudo /etc/init.d/mysql restart
$ mysql -uroot -p
2.1 建立使用者:# 先使用root登入
# 建立使用者
create
user
'dbusername'@'localhost' identified by
'password';
# 如果要建立乙個可以遠端訪問的使用者,可以將 localhost 更改為 % , 就像這樣
create
user
'dbusername'@'%' identified by
'password';
# 建立之後重新整理授狀態,新使用者就可以登入訪問了。
flush privileges;
2.2 建立新的使用者之後還需要給使用者分配乙個資料庫。
假設要建立乙個名稱為 dolphin 的資料庫
create
database dolphin default charset utf8
2.3 給新使用者分配資料庫# 授予使用者通過 外網ip 對於該資料庫的全部許可權
grant
allprivileges
on`dolphin`.* to
'dbusername'@'%' identified by
'password';
# 授予使用者在 本地伺服器 對該資料庫的全部許可權
grant
allprivileges
on`dolphin`.* to
'dbusername'@'localhost' identified by
'password';
# 重新整理授狀態
flush privileges;
可以遠端方位的使用者在mysql.user表中,host欄位為 % 。 可以在建立賬戶時設定可以後期更改。
3.1 檢視 3306 埠
ubuntu@vm-15-131-ubuntu:~$ netstat -an | grep 3306
tcp6 0
0127.0
.0.1:3306
0.0.0
.0:* listen
如上顯示3306繫結本地埠
3.2 修改mysql配置檔案
開啟 /etc/mysql/mysql.conf.d/mysqld.cnf
vim /etc/mysql/mysql.conf.d/mysqld.cnf
注釋掉 bind-address
#bind-address = 127.0.0.1
重啟mysql
/etc/init.d/mysql restart
急著睡覺,不說太多。
# 備份
mysqldump -h127.0
.0.1 -p3306 -uroot -p warehouse>warehouse.sql;
# 恢復
mysql -uroot -p warehouse睡覺睡覺~~~
mysql 語句 集錦 mysql常用語句集錦
mysql unix時間戳與日期的相互轉換 unix時間戳轉換為日期用函式 from unixtime select from unixtime 1156219870 日期轉換為unix時間戳用函式 unix timestamp select unix timestamp 2006 11 04 12...
Python set常用操作函式集錦
定義 set是乙個無序且不重複的元素集合。集合物件是一組無序排列的www.cppcns.com可雜湊的值,集合成員可以做字典中的鍵。集合支援用in和not in操作符檢查成員,由len 內建函式得到集合的基數 大小 用 for 迴圈迭代集合的成員。但是因為集合本身是無序的,不可以為集合建立索引或執行...
Mysql 常用SQL語句集錦
查詢時間,友好提示 乙個sql 返回多個總數 sql select count all,sql count case when status 1 then status end status 1 num,sql count case when status 2 then status end sta...