环境搭建问题
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: 即可用修改后的新密码登陆。
linux思路同理。
2.命令行客户端字符集问题
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;”
3.如何修改数据库和表的字符集编码
修改编码:
- 停止服务
- 修改my.cnf文件
在[mysqld]上面加入下面两句话
[client]
default-character-set=utf8
在[mysqld]最下面加入下面几句话
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci - 重新启动服务
说明:
如果是在修改my.ini之前建的库和表,那么库和表的编码还是原来的Latin1,要么删了重建,要么使用alter语句修改编码。