安装了ZIP Archive版本压缩包的mysql后遇到的设置问题,因本人是菜鸟小白,不具备任何权威性,所以文章仅供参考,不得转载!
首先我的系统是win7_64位系统,下载安装的版本是mysql-8.0.15-winx64,网址:https://dev.mysql.com/downloads/mysql/
第二步是安装后配置了my.ini文件
********************************以下ini文件************************************
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\Mysql\mysql-8.0.15-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\Mysql\mysql-8.0.15-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
collation-server=utf8_general_ci
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
********************************以上ini文件************************************
第三步是配置环境变量中系统变量新建:MYSQL_HOME:E:\Mysql\mysql-8.0.15-winx64
编辑path:%MYSQL_HOME%\bin;(一定注意前边的bin后用;隔开)
然后我犯了个很低级的错误就是没有初始化,也就是安装目录下没有data文件
第四步cmd以管理员运行方式启动,进入安装目录下bin文件并初始化mysql:
先执行 mysqld --initialize
再执行 mysqld install
否则会无法启动服务!
这时候会有一个data生成在安装目录。
然后执行 net start mysql 启动服务。
执行 mysql( -h 服务器主机地址) -u root -p (-h 本机localhost可省略)
这时候让输入密码,明明没有设置密码怎么会有密码呢(有一说是可以直接回车,但我的不行;mysqladmin -u root password 密码;是设置初始密码,本人未尝试),原来在mysql安装文件有个XXXX.err文件中有root@localhost:aj>sc=sy*红色部分就是密码。
更改密码:
ALTER USER '用户名' IDENTIFIED WITH mysql_native_password BY '新密码';
mysql> show variables like 'char%'; 显示编码格式(这可以看出my.ini有没有生效,因为我设置的是utf8这样新建立的数据库缺省就是UTF8编码了)
CRETAE DATABASE 数据库名;
SHOW DATABASES;查看当前系统数据库
USE 数据库名;选择数据库
DROP DATABASE 数据库名;删除数据库
CRETAE DATABASE myschool;
USE myschool;
#创建学生表
CREATE TABLE `student`(
`studentNo` INT(4) NOT NULL COMMENT '学号',
`loginPwd` VARCHAR(20) NOT NULL COMMENT '密码',
`studentName` VARCHAR(50) NOT NULL COMMENT '学生姓名',
`sex` CHAR(2) DEFAULT '男' COMMENT '性别',
`gradeId` INT(4) UNSIGNED COMMENT '年级编号',
`phone` VARCHAR(50) COMMENT '联系电话',
`address` VARCHAR(255) DEFAULT '地址不详'COMMENT '地址',
`bornDate` DATETIME COMMENT '出生时间',
`email` VARCHAR(50) COMMENT'邮件账号',
identityCard VARCHAR(18) COMMENT'身份证号码',
PRIMARY KEY(`studentNo`)
);
这里主要观察有默认值的是否报错,如果报错则是编码问题或类型长度问题。
show create table myschool.student;查看myschool下student表的编码为......
修改方法:
ALTER DATABASE `数据库` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
ALTER TABLE `数据表` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci (注:此句把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:)
show full columns from myschool.student;查看字段编码格式
然后重新启动MYSQL服务;
修改数据库字符集:
ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];
把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
只修改表的默认字符集:
ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];
如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
修改字段的字符集:
ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;
查看数据库编码:
SHOW CREATE DATABASE db_name;
查看表编码:
SHOW CREATE TABLE tbl_name;
查看字段编码:
SHOW FULL COLUMNS FROM tbl_name;
help Contents;mysql帮助文档;
help create table;