十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一.首先把mysql的服务先停掉。
成都网络公司-成都网站建设公司创新互联10年经验成就非凡,专业从事成都做网站、网站设计,成都网页设计,成都网页制作,软文发布平台,广告投放等。10年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:18982081108,我们期待您的来电!
二.更改mysql配置文件my.ini中的数据库存储主路径
三.将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径
将原文件夹中的所有文件和文件夹拷贝到你新建的文件夹目录下。
四.重启mysql服务
五.验证更改数据库存储主路径的操作是否成功!
首先打开MySQL数据库MySQL Workbench 6.3 CE,这个是MySQL数据库的管理工具
2
点击Server Status
3
管理界面上则显示了MySQL的服务状态
4
红色圈出内容即为MySQL的配置文件my.ini,而且往下拉也有各种文件的具体位置和数据的存储位置,这样看来就一目了然了
5
接下来我们就根据界面上所显示的位置,例如小编的位置就是C:\ProgramData\MySQL\MySQL Server5.7\my.ini,在文件资源管理器的地址来输入,就可以跳转到文件所在位置,此步应根据自己的MySQL安装位置来操作。如果直接输入地址,提示错误信息,此时只要输入C:\ProgramData\,(视自己的安装位置而定)再对应找就行了
6
打开文件就可以对端口、文件存储位置等各种配置信息进行修改,修改之后重启数据库服务
A. 字符编码:
“使用命令行方式登陆到MySQL服务器, 建立一个数据库,数据库编码设为UTF-8。此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data too long for column 'name' at row 1 错误。乍一看,是字段长度引起的问题,但是实际是字符编码的问题。可是尝试以下解决方法:
1、在Linux中,使用终端方式登陆MySQL服务器,运行以下命令:
set names utf8;
该命令将终端的字符编码设为了UTF-8。此后再插入数据库中的内容都会按照UTF-8的编码来处理。
注意:在Linux中,终端方式中直接插入中文内容,可能并不会出现1406错误,但是这时插入的数据
是按照系统的默认编码进行处理。因此对编码为UTF-8的数据库,在显示数据的地方可能会出现乱码。
2、在Windows下,命令行窗口不支持UTF-8编码,所以使用“set names utf8;”不会达到转化中文的
效果。但是这个问题还是可以解决的:
(1)使用默认编码建立数据库。这种情况下就可以直接输入中文了,但是相应的问题,就是会
失去UTF-8编码的灵活性。特别是不利于软件的国际化。
(2)放弃命令行窗口登录MySQL,使用图形化客户端。客户端工具可以MySQL的官方网站上找到。”
B. Mysql配置文件:
“在my.ini里找到sql- mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'把其中 的STRICT_TRANS_TABLES,去掉,或者把sql- mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注释掉,然 后重启mysql就ok了
mysql动态修改配置参数分两种:
会话session:只对当前会话产生影响,退出mysql后失效;
全局GLOBAL:对后面的连接都有效,不过在重启mysql后失效。
step:
用root账号登录mysql命令行;
查看参数配置情况:
show variables; #显示全部参数。
show variables like '%wait%'; #显示包含wait的参数。
show session varialbes; #显示会话参数
show global varialbes; #显示全局参数
set session wait_timeout=10; #当前会话生效。
set GLOBAL wait_timeout = 10; #全局生效。
如果想要永久修改参数,则同时在/etc/my.cnf配置文件修改。
首先我们在linux系统上安装mysql,本文默认linux系统可以联网或者已经挂载光盘iso了,我们使用命令 apt-get install mysql-server 命令进行安装,安装完成后,查看mysql是否启动,执行命令 ps -e |grep mysql。
验证初始是否允许远程连接,由于本次虚拟机IP为192.168.2.120,因此我们执行mysql -h 192.168.20.120 -P 3306 -u root -proot(备注:-proot,root指root账号的密码),可以得到结果连接不上。
假如我们不采用远程连接,可以连接上,命令为:mysql -u root -proot。
接下来,我们连接上数据库,执行命令use mysql;使用mysql数据库。
并查看用户表信息,执行命令为:select Host,User from user。
执行结果如下图所示。
通过上面步骤可以得到数据表 user内的值,下面我们对表进行更新记录允许远程访问,
执行命令为:update user set Host='%' where User ='root' limit 1;
(该条命令意思为更新user表内User值为root的第一条记录的Host值设置为%)更新完成后,执行上一步查询命令进行验证
执行强制刷新命令flush privileges;
执行完毕后,关闭数据库连接。
更改mysql安装目录下的my.cnf文件。
一般默认路径在/etc/mysql/下,找到bind-address = 127.0.0.1 这一行,可以对其进行删除,注释或者将127.0.0.1更改为0.0.0.0,修改完毕后保存。
重启mysql,命令为service mysql restart。进行远程登陆测试,可以看到已经允许远程连接了。