日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL常见问题的解决,root用户密码忘记,不是内部或外部命令,修改数据库和表的字符编码,命令行客户端的字符集问题

發布時間:2023/12/2 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL常见问题的解决,root用户密码忘记,不是内部或外部命令,修改数据库和表的字符编码,命令行客户端的字符集问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 問題1:root用戶密碼忘記,重置的操作
    • 問題2:mysql命令報“不是內部或外部命令”
    • 問題3:錯誤ERROR :沒有選擇數據庫就操作表格和數據
    • 問題4:命令行客戶端的字符集問題
    • 問題5:修改數據庫和表的字符編碼


問題1:root用戶密碼忘記,重置的操作

1: 通過任務管理器或者服務管理,關掉mysqld(服務進程)

2: 通過命令行+特殊參數開啟mysqld mysqld – defaults-file=“D:\ProgramFiles\mysql\MySQLServer5.7Data\my.ini” --skip-grant-tables

3: 此時,mysqld服務進程已經打開。并且不需要權限檢查

4: mysql -uroot 無密碼登陸服務器。另啟動一個客戶端進行

5: 修改權限表 (1) use mysql; (2)update user set authentication_string=password(‘新密碼’) where user=‘root’ and Host=‘localhost’; (3)flush privileges;

6: 通過任務管理器,關掉mysqld服務進程。

7: 再次通過服務管理,打開mysql服務。 8: 即可用修改后的新密碼登陸。


問題2:mysql命令報“不是內部或外部命令”

如果輸入mysql命令報“不是內部或外部命令”,把mysql安裝目錄的bin目錄配置到環境變量path中。如下:


問題3:錯誤ERROR :沒有選擇數據庫就操作表格和數據

ERROR 1046 (3D000): No database selected
解決方案一:就是使用“USE 數據庫名;”語句,這樣接下來的語句就默認針對這個數據庫進行操作
解決方案二:就是所有的表對象前面都加上“數據庫.”


問題4:命令行客戶端的字符集問題

mysql> INSERT INTO t_stu VALUES(1,‘張三’,‘男’); ERROR 1366 (HY000):
Incorrect string value: ‘\xD5\xC5\xC8\xFD’ for column ‘sname’ at row 1

原因:服務器端認為你的客戶端的字符集是utf-8,而實際上你的客戶端的字符集是GBK。

查看所有字符集:SHOW VARIABLES LIKE ‘character_set_%’;

解決方案,設置當前連接的客戶端字符集 “SET NAMES GBK;”


問題5:修改數據庫和表的字符編碼

修改編碼:
①先停止服務②修改my.ini文件③重新啟動服務

說明:如果是在修改my.ini之前建的庫和表,那么庫和表的編碼還是原來的Latin1,要么刪了重建,要么使用alter語句修改編碼。

mysql> create database 0728db charset Latin1; Query OK, 1 row affected (0.00 sec) mysql> use 0728db; Database changed mysql> create table student (id int , name varchar(20)) charset Latin1; Query OK, 0 rows affected (0.02 sec) mysql> show create table student\G *************************** 1. row *************************** Table: student Create Table: CREATE TABLE `student` ( `id` int(11) NOT NULL, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec) mysql> alter table student charset utf8; #修改表字符編碼為UTF8 Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show create table student\G *************************** 1. row *************************** Table: student Create Table: CREATE TABLE `student` ( `id` int(11) NOT NULL, `name` varchar(20) CHARACTER SET latin1 DEFAULT NULL, #字段仍然是latin1編碼 PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) mysql> alter table student modify name varchar(20) charset utf8; #修改字段字符編碼為UTF8 Query OK, 0 rows affected (0.05 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show create table student\G *************************** 1. row *************************** Table: student Create Table: CREATE TABLE `student` ( `id` int(11) NOT NULL, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) mysql> show create database 0728db;; +--------+-----------------------------------------------------------------+ |Database| Create Database | +------+-------------------------------------------------------------------+ |0728db| CREATE DATABASE `0728db` /*!40100 DEFAULT CHARACTER SET latin1 */ | +------+-------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> alter database 0728db charset utf8; #修改數據庫的字符編碼為utf8 Query OK, 1 row affected (0.00 sec) mysql> show create database 0728db; +--------+-----------------------------------------------------------------+ |Database| Create Database | +--------+-----------------------------------------------------------------+ | 0728db | CREATE DATABASE `0728db` /*!40100 DEFAULT CHARACTER SET utf8 */ | +--------+-----------------------------------------------------------------+ 1 row in set (0.00 sec)

總結

以上是生活随笔為你收集整理的MySQL常见问题的解决,root用户密码忘记,不是内部或外部命令,修改数据库和表的字符编码,命令行客户端的字符集问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。