对于在linux新搭的mysql的初始配置操作(远程连接)
(由于是自己第一次写这样的文章,表达不清楚的请忽略。。。)
1.这篇文章是从mysql安装完成后开始讲的,想了解linux下的mysql安装的请百度。
2.这篇文章旨在对新手有些帮助,大神请多多指教。
1.首先在linux下启动mysql
这里是重启,启动请换成 start
2.登录mysql
注意 -u后跟用户名 -p后跟密码 -p与密码不要有空格
3.对于新的mysql中有两个数据库,一个是 mysql(数据库名就是mysql)另一个就是 information_schema(数据库名,暂不知是干什么的)
如果想增加自己的数据库,则需要建库语句,
CREATE DATABASE `asp_simp` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
这里创建的数据库名是 asp_simp 其字符编码是 utf8 校验规则也是utf8(注意 想创建识别中文的数据库,直接复制这段代码就行了)
在这里多说一点就是关于数据库编码的问题 (这里先说一点题外话 懒得再写一篇新文章。。。)
如果你用这条语句建库还会出现中文乱码的话请看下面两条
1.在/etc目录下找到my.cnf 文件并编辑(如果该目录下没有,就从mysql的安装目录中找到并赋值到这个目录下,
,看见了吧,用这个命令找到你的mysql安装目录)
打开可以看到这个界面,这是我添加过的界面,需要添加的是下面几行代码
character_set_server=utf8
init_connect='SET NAMES utf8'
注意这两行代码是跟在[mysqld]下面的
然后再增加下面两行代码
[client]
default-character-set=utf8
总共就是这四行
大家注意到 max_allowed_packet=300M 这行代码其实 也是我加上的 是为了解决 在导入数据时(我当时导入的大小是200多m,所以设为300m),大量数据导入问题,如果你的数据超过15m(具体记不清了)导入时,请在这个文件中加上这行代码。
2.这样设置完成后请重启mysql,如果在导入数据时还是出现乱码问题,请检查你导入的数据编码是不是utf8的,如果不是的话就会出现乱码,我就遇见这个问题,从阿里云导出数据时,没注意,导出的是gbk,最后再导入到我的数据库时,就乱码。
大量数据导入数据库命令
source /home/all.sql 这个命令是在登录书库后,而且选择数据库之后,当然前提是你要先创建数据库,all.sql是你的sql语句,里面有建表语句和insert语句。
4.以上三步大致就可以简单使用mysql,但是用惯了图形化界面工具,是不是在linux操作数据库,显得很别扭,下面我就讲一下使用sqlyog工具远程连接mysql
1.首先你要有个登陆数据库的账号,但是你会发现,你用图像化界面工具时,报错,错误代码还是1045,这就是你登陆账号的权限问题了。
1.1 首先来查看你的mysql数据库中,可登录账号
我从登录mysql开始
登录成功后,选择数据库 mysql
然后使用sql查看mysql数据库中user表
select * from user;
你会发现该表数据字段很多,仔细一看会发现,除了前三个字段,后边的都是和权限相关的,暂时不用取管他,只查看前三个字段。
select Host,User,Password from user ;
我这是查看之后的结果,后两个字段是账号和密码,第一个字段是host代表的是这账号的使用范围,如果是localhost,代表该账号只在本机可使用,也就是说,远程连接时,就无法使用,这就是为什么报错1045的原因。
所以你需要将locaohost改成 %, 没错就是% ,改完之后就可以远程连接了。
友情提示,不要去改第一个数据的host字段,最好自己创建一个新的账号。(如果改第一个可能会出现一些问题)
接下来就先讲一下,创建新的账号的步骤。
接着上面敲命令
注意,这个password一点要这样写,你只写1234的话,它加入数据库中是不加密的。
这样就完成增加新的账号,而且可以远程连接的,但是,只是这样的话还是不行,因为这个账号没有任何权限,登陆上去也什么都干不了。
接下来就是给新建的账号加权限,
不怕大家笑话,我现在就会一种,就是将这条数据的其他字段都改成Y,注意最后八个字段不需要改。
需要你用update 语句去一个字段一个字段的改。。。
改完之后
flush privileges;
敲这个命令,刷新权限表,最好,重启一下mysql。
接下来就使用sqlyog来远程连接数据库了
主机地址 就是你的mysql所在linux的ip地址
用户名就是你的账号
密码就是密码
端口 3306
然后确定
ok