Centos mysql5.7 安装问题:修改默认密码,修改编码,启动异常

mysql 安装后修改默认密码

mysql5.7 安装好之后,会生成一个随机密码,随机密码在mysql的错误日志里,
或者通过这个命令查看

grep 'temporary password' /var/log/mysqld.log 
##会显示如下
A temporary password is generated for root@localhost: wcjSqexWh6&T

其中wcjSqexWh6&T就是默认密码,可以用这个密码登录后进行修改
登录后修改的命令是:

#5.7之后只能通过这种方式修改,以前的update和set方式不可用了
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

修改完成之后重启mysql,就可以用新密码登陆了。

修改编码遇到的坑

建好database后,开始建表,inser几个数据试试手,在插入数据时,发现无法插入中文,原因是数据库的默认编码不是utf-8,不支持中文,可以用如下命令查看编码:

mysql>show variables like 'char%';
#我的数据库默认是latin1的编码格式

为了能支持中文,所以需要修改数据库表的编码,为了以后方便我把database的编码也改了
修改方式:

#修改数据库编码
alter database <数据库名> character set utf8;
#修改表编码
alter table <表名> character set utf8;
#还需要修改相应字段的编码
alter table <表名> change <字段名> <字段名> <类型> character set utf8;
#例子
mysql>alter table student change name name varchar(140) character set utf8;

提示:最好在建表的时候指定编码

坑->

网上有文章说要修改/etc/my.cnf文件,一劳永逸的解决问题
在 [mysqld] 标签下加上
default-character-set = utf8
character-set-server = utf8
两个标签,我本来也是这样改的,但是改完之后发现怎么也启动不起来,查了查错误日志,
发现5.7不支持已经不支持default-character-set = utf8这个属性:

[ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'

删了之后,重新启动,完美解决(网上的文章都是一大抄,坑真不少)。
提示:查找错误日志的时候,为了快速定位到问题可以用[ERROR]过滤

发布了17 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_24295537/article/details/93424168
今日推荐