【数据库】MySQL与Navicat问题汇总
一.【安装问题】
安装新版本之前必须完全卸载老版本MySQL
-
1.cmd中输入
sc delete mysql
;或者控制面板中卸载mysql; -
2.regedit删除三项MySQL的项:
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL -
3.手动删除C盘下mysql根目录。
【8.0.12】
1.安装后bin目录下无法找到my.ini
【5.6.41】
2.安装后bin目录下只有my-default.ini,无my.ini
可以拷贝一个my-default.ini修改成my.ini
然后在my.ini里面的[mysqld]下面加:character-set-server=utf8
注意:原文件my-default.ini不要动,不然重新启动mysql会报系统错误
二.【配置问题】
1.启动:
- cmd - (mysql的bin目录下) - “
mysql -u root -p
” - 输入密码
- 启动成功
- 每一行开头都出现出现"
mysql>
"
2.查看当前用户:
- mysql>
select user();
(注意都要以Semicolon结尾)
+---------------------+
| user( ) |
+---------------------+
| root@localhost | (←当前用户)
+---------------------+
3.更改用户名
- 第1行:mysql>
use mysql
- 第2行:mysql>
update user set user="chiu" where user="root";
(把原名root改成chiu) - 操作成功:"
Query OK
"
4.查看当前系统中的用户名单:
- mysql>
select user,host from mysql.user;
+-------------------+ ----------------+
| user |host |
+-------------------+ ----------------+
| chiu |localhost |
| mysql.infoschema |localhost |
| mysql.session |localhost |
| mysql.sys |localhost |
+-------------------+ ----------------+
除了你的默认root,还多出mysql.session 和 mysql.sys两个用户。这两个不要管他,是MySQL 5.7 新增默认账号,这两个用户别乱动。
mysql.sys
:用于 sys schema中对象的定义。使用 mysql.sys 用户可避免DBA重命名或者删除root用户时发生的问题。该用户已被锁定,客户端无法连接。mysql.sessio
:插件内部使用来访问服务器。该用户已被锁定,客户端无法连接。
5.cmd中输入net start mysql 提示:服务名无效 请键入NET HELPING 2185以获得更多的帮助
net start mysql
是DOS中启动mysql的命令符;net stop mysql
指关闭;
进入MySQL的bin目录,并在bin目录打开命令行窗口,在命令行窗口输入:mysqld --install
,回车,提示:Service successfully installed
。表示安装MySQL服务成功,命令行窗口输入:net start mysql
,可以正常启动。
6.忘记密码/密码错误如何处理
- 修改MySQL的登录设置: 在my.ini中找到[mysqld],在下行添加一句:
skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
- 关闭正在运行的MySQL服务。
net stop mysql
- 转到mysql\bin目录,输入
mysqld --skip-grant-tables
回车。此段代码启动MySQL服务的时候跳过权限表认证 - 这时次DOS窗口已经不能动了,也不能关闭。新开一个DOS窗口,转至bin目录下
- 输入
mysql
回车,若成功,将出现mysql >
- 链接权限数据库:
use mysql;
- 改密码:
update user set password=password("新密码") where user="root";
(别忘了最后的分号) - 刷新权限(必须步骤):
flush privileges;
- 退出
quit
- 将my.ini中
skip-grant-tables
语句删除 - 注销系统,讲再进入DOS,
net start mysql
,net mysql -uroot -padmin
可以登录。
7.创建新用户@localhost
- mysql>
create user 'test'@'localhost' identified by '123456';
- 刷新权限(必须步骤):
flush privileges;
8.删除匿名用户
+-------------------+ ----------------+
| user |host |
+-------------------+ ----------------+
| chiu |localhost |
| |localhost | (此行用户名空缺,为匿名用户)
| mysql.session |localhost |
+-------------------+ ----------------+
- mysql>
delete from mysql.user where user=' ';
9.创建新的Database
mysql> CREATE DATABASE`项目名`
(此处单引号实际应为半角,且是键盘"1"左侧这个)DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- 给本地用户赋予所有权限
- mysql>
grant all privileges on 项目名.* to 用户@localhost identified by '1234'
- ->
;
- 给账号开通外网所有权限
grant all privileges on 项目名.* to 项目名 @'%' identified by '密码';
(@’%’ 指不限制IP开通所有权限)
10.查看Database
mysql> show databases
-> ;
- 用select database()语句查看当前Database
- mysql>
select database();
三.【Navicat】
1.下载:
- https://www.cnblogs.com/kaige123/p/5843793.html
- 细节补充:讲PatchNavicat.exe双击后,选择用Navicat客户端打开,才能破解成功。
2.新建项目注意事项
- 先点击“链接测试”(Test Connection),显示连接成功后再点击“确定”
- 此图左侧Database栏的"mmall"在Mysql的Dos操作中已被添加,并被本地用户赋予权限、开通了外网所有权限;并非在Navicat中手动添加。
- mmall - 表(table) - 右击新建table
- New table 列表中输入名:A - 保存,输入table名:tabletest
- 返回mysql DOS
- mysql>
use mmall;
- mysql >
show tables;
+-------------------+
| Table in mmall |
+-------------------+
| tabletest |
+-------------------+
参考博客:
1.https://blog.csdn.net/glory_zhu/article/details/41596337
2.https://blog.csdn.net/qq_31832209/article/details/78424260
3.https://www.cnblogs.com/kaige123/p/5843793.html