写在最前面的一段话:想学好编程,两个方面必须下功夫克服,一是学会看官方文档,二是学好英语。对你没看错,就是学好英语。学好英语你看官方文档就会轻松很多,官方文档第一不会不准确,第二不会过时。
- 对于my.ini文件来说,我看了mysql5.5 5.6 5.7 8.0的包,在5.7前包里有类似的配置文件示例,而到了5.7与最新的8.0版本就没了,官方怎么做的原因是什么,由于我的英文不好我就不去深究了,但是我还是担心mysql乱码问题,所以我找了一个配置文件的模板供大家参考。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\Program Files\mysql-8.0.11-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\mysql-8.0.11-winx64\data
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNO
有趣的是在5.6的版本里配置文件示例里只有[mysqld],而在5.5版本里还有很多比如[client],我不知道现在这个配置文件意义大不大,但按照以往经验就知道会有乱码问题,乱码问题很远程连接问题参考我的另外一贴。
- 下面进入配置,
一、首先是初始化数据库,有两种办法
------------update 2019.3.6------------
------------参阅官方文档,查到–user=mysql和–console使用情况--------------------
------------在Unix和类Unix系统上为了权限问题需要加上–user=mysql----------
--------在Windows上,使用该–console选项将消息定向到控制台-----------------
1、mysqld --initialize --console
这是使用随机密码初始化,密码等进入数据库后修改,这个密码使用一次后会失效,所以千万要记得进入数据库后改密码。
2、mysqld --initialize-insecure ------这是不安全的-----
这是不用密码初始化,也是进入数据库要改密码。
二、然后是安装mysql服务
---------------------update 2019.3.6----------------------
mysqld --install
注意这里不用安装服务也可以手动启动服务。mysqld --console
三、登入数据库
1、使用随机密码初始化情况下
mysql -u root -p
这个随机密码在date目录下的一个error文件下。找到如下的
Warning] A temporary password is generated for root@localhost: iTag*AfrH5ej
标线的就是你的随机密码
2、使用不用密码初始化情况下
mysql -u root --skip-password
四、修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new_password’;
千万要记得修改密码