数据库
首页 > 数据库> > MySQL 问题总结

MySQL 问题总结

作者:互联网

MySQL

# 更改数据库字段类型
alter table 表名 modify column 字段名 新字段类型;
alter table exec_results modify column body longtext;

# 新增字段
alter table exec_history add mark int(11);

查看用户权限  show grants for wang;
赋予用户权限  GRANT ALL PRIVILEGES ON `libra1`.* TO 'wang'@'%'
重置密码:
  1.service mysqld stop    # 关闭服务
  2.mysqld --user=mysql --skip-grant-tables --skip-networking &
  3.mysql    # 不需要密码进入MySQL
  4.update mysql.user set authentication_string=password('123456') where user='root';
  # 更改数据库密码,mysql5.7以后没有password字段,更换成 authentication_string
  5.退出重新登陆

collate 问题

MySQL数据库报错处理:修改表的 collate
# 1267, "Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='"
问题:数据库中做 连表 的字段格式不一样
原则:修改数据库的collation,对修改后新建的表才会生效,已存在表不生效
     修改表的 collation,对修改后新建的字段才会生效,已存在字段不生效
     修改字段的 collation,对修改后新写入生效,同时对已存在的也生效

代码如下:
ALTER DATABASE `basename` CHARACTER SET utf8COLLATE utf8_bin;
ALTER TABLE `basename`.`tablename`  COLLATE=utf8_bin;
ALTER TABLE `tablename` MODIFY COLUMN `name`  varchar(8) CHARACTER SET utf8 COLLATE utf8_bin;

同时也可以在my.cnf中修改 collation_server             = utf8_bin (重启生效) 
该参数不支持动态修改。
如果需要修改表很多,可以使用导出导入的方式,修改表的collation后导出,重新建表导入时字段将遵循表的collation

windows电脑启动MySQL 的时候报错问题解决

# 问题一:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    
表示密码错误,重新输入正确密码

# 问题二
D:\MySQL\mysql-5.7.28\bin>net start mysql 服务名无效。
解决:使用管理员打开cmd,执行 >> mysqld --install,提示 Service successfully installed,表示安装成功,然后执行 net start mysql 启动 MySQL 服务

# 问题三
Install/Remove of the Service Denied!
解决:在管理员下执行cmd,执行 >> mysqld --install

标签:总结,bin,--,MySQL,问题,修改,mysql,collation
来源: https://www.cnblogs.com/whkzm/p/14790746.html