創建庫
常用sql語句
# 創建一個數據庫teachers,不指定字符集,默認拉丁
CREATE DATABASE blog;
# 創建數據庫,並指定默認字符集為utf8,注意utf8沒有'-'
> CREATE DATABASE blog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# 創建庫時判斷是否存在
> CREATE DATABASE IF NOT EXISTS blog;
# 查看全局變量中定義的各個字符集的語言
> SHOW GLOBAL VARIABLES LIKE '%char%';
# 修改表字符集
> ALTER TABLE blog CONVERT TO CHARACTER SET utf8;
# 設置字符集語言為utf8
> CHARACTER SET utf8
# 更改數據庫默認字符集
> ALTER DATABASE blog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# 更新升級數據字典
update data directory NAME;
# 數據字典:system catalog:保存了數據庫服務器上的元數據,通過數據庫保存
# vim /etc/my.cnf
"""
[client] # 修改客戶端字符集
default-character-set=utf8
[mysqld] # 修改服務端字符集
default-character-set=utf8 # 5.1- 版本
character-set-server=utf8 # 5.5+ 版本
"""
# 查看所有庫
mysql> SHOW DATABASES;
# 查看數據庫信息
mysql> SHOW CREATE DATABASE teachers;
# 查看字符集
mysql> SHOW VARIABLES LIKE 'character%';
# 修改數據庫字符集
mysql> ALTER DATABASE db_name CHARACTER SET utf8;
# service mysqld restart
# 修改表字符集
mysql> ALTER TABLE table_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# 備份所有庫和表-all-databases
mysqldump -uroot -p -all-databases > backupname1.sql
# 備份指定庫指定表
mysqldump -uroot -p db_name1 table_name1 table_name2 > backupname2.sql
mysqldump -uroot -p --databases db_name1 db_name2 db_name3 > backupname3.sql
# 刪除數據庫:
mysql> drop database db_name;
mysql> drop database if exists db_name;
# 還原所有庫
# mysql -uroot -p < backupname1.sql
# 還原指定庫的備份表
# mysql -uroot -p db_name1 < backupname2.sql
修改已有數據的庫的字符集,需要將數據線導出,修改完后,再導入
比如:當前字符集latinl,要修改為utf8
1,導出庫及表結構
2,sed批量修改導出文件的字符集為utf8
3,導出所有的數據
4,修改mysql服務端和客戶端字符編碼為utf8
5,刪除庫和表
6,導入庫及表結構
7,導入數據
創建授權用戶
mysql> SELECT user,host,password FROM mysql.user;
mysql> DELETE FROM mysql.user WHERE user='';
mysql> DELETE FROM mysql.user WHERE host='::1';
mysql> USE mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"localhost" IDENTIFIED BY "123456";
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"127.0.0.1" IDENTIFIED BY "123456";
mysql> GRANT ALL PRIVILEGES ON blog.* TO 'bloguser'@"%" IDENTIFIED BY "blogpwd";
mysql> FLUSH PRIVILEGES;
> \q