应该是配置文件没有设置好,多见于绿色版吧,安装版一般没问题
有问题卸载重装大法能解决大部分问题啦~
MySQL安装
在配置文件写入下列信息1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql\mysql-5.6.17-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql-5.6.17-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
CMD管理员运行进入bin目录执行mysqld install即可
服务无法启动
成功安装以后,启动MySQL,输入:
net start mysql
提示:
”MySQL 服务无法启动,服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多的帮助。”
查了下,在当前目录下输入:
mysqld-initialize
mysqld --initialize-insecure
还是出错,又查了下,原因是:
mysqld –initialize-insecure自动生成无密码的root用户
mysqld –initialize自动生成带随机密码的root用户。
data文件夹不为空是不能执行这个命令的。
解决办法:
先删除data目录下的所有文件或者移走。
服务器安装
一般服务器安装的都不是官方原版,而是基于原版的衍生版,使用方面和原生的操作完全一样,但是性能方面会有大大的提高,常见的衍生版有 MariaDB 和 PerconaServer,前者是原作者的另一个项目,后者性能有显著提升
安装后常用的操作是:
修改/设置 root 的密码:mysqladmin -u root password "root"
设置为允许远程客户端访问(生产环境为安全不会开启):
1 | -- grant all privileges on . to 'root' @'%' identified by 'root'; |
还有就是不要忘了开启防火墙:
1 | /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT |
mysql 客户端每次访问 db,mysql 就会试图去解析来访问的机器的 hostname,并缓存到 hostname cache,这样会导致连接速度变慢,我们可以设置关闭这个功能,当然是测试环境时,为了安全还是…..
编辑 vim /etc/my.cnf
,在 [mysqld] 下面添加 skip-name-resolve
然后重启 MySQL 服务就可以了
设置编码
首先通过 show variables like 'character_set_%';
查看 mysql 字符集
默认编码为 latin1,当然是不支持中文的,所以还是改成 u8 比较好伐,修改 /etc/my.inf
配置文件,主要就是在下面的两个节点下追加一条配置:
1 | [client] |
然后重启 MySQL 的服务即可,网上很多资源都是在 [mysqld] 下添加 :default-character-set=utf8
,如果这样改会导致 5.7 版本 mysql 无法打开,所以要改为 character-set-server=utf8
,所以要考虑版本问题啊….
1 | -- 修改数据库的编码 |
评论框加载失败,无法访问 Disqus
你可能需要魔法上网~~