• mysql免安装版配置和一些常见问题


    博客原文点我

    今天在Windows Server 2003下安装mysql,遇到不少问题。之前在另外两台服务器安装的时候也遇到了几个问题,最后找到不少文章解决了,记录一下。

    所有版本都是免安装的32和64一样配置,另外几个问题下面有写到。

    mysql5.5.58

    1、下载解压

    首先从官网下载安装包,下载连接:http://dev.mysql.com/downloads/mysql/5.1.html#downloads

    由于最新的版本5.7.20和5.6.38下载解压之后都没有my-small.ini配置文件,因此下载的是5.5.58-win64版本。解压到要安装的盘,我放的是C:\Program Files (x86)。

    2、配置环境变量

    右击“我的电脑”--属性--高级系统设置--环境变量--系统变量

    新建环境变量:变量名 MYSQL_HOME,变量值C:\Program Files (x86)\mysql-5.5.58-winx64;(解压后文件夹的路径)

    在系统变量中找到path--编辑--在最后面加上 ;%MYSQL_HOME%/bin ;注意前面一定要加分号,后面最好不要加分号,不确定加了分号之后对不对

    3、配置my-small.ini文件

    在安装文件夹下找到 my-small.ini 配置文件, 打开进行编辑, 在 [mysqld] 下添加两行:

    basedir = C:\Program Files (x86)\mysql-5.5.58-winx64

    datadir = C:\Program Files (x86)\mysql-5.5.58-winx64\data

    port = 3306

    且在[Client]和 [mysqld] 下均添加一行: default-character-set = utf8

    修改之后的文件内容如下图所示

    4、安装

    开始---搜索栏中输入cmd----enter,用管理员权限打开系统命令窗口,

    输入:mysqld --install

    提示service successfully installed安装成功;

    5、启动mysql

    启动:net  start  mysql

    停止:net  stop  mysql

    启动:net  start  mysql,出现系统错误2,系统找不到指定文件

    这里是最需要注意的地方,在安装mysql服务时,一定要切换到mysql安装目录的bin目录下,不管你是否配置环境变量,否则在安装完后启动服务还是会报上面的错误。

    切换到bin目录后,先删除前面安装的mysql服务(删除服务不一定要到bin目录),再重新在bin目录下安装mysql服务,然后启动:

    mysql5.5.57

    以下的步骤作为基本的步骤,能够确保你能运行一个基本的mysql:

    1、将mysql-5.5.57-win32解压到C盘根目录下,更改文件夹名称为mysql-5.5.57;

    2、在C盘根目录下建立一个文件夹mysqldb,内含1个文件夹data;

    3、在C:\mysql-5.5.57文件夹下,新建一个my.ini文件(ANSI格式),主要配置内容如下:

    [mysqld]

    port=3306

    character_set_server=utf8

    basedir=C:\\mysql-5.5.57

    datadir=C:\\mysqldb\\data

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [client]

    port=3306

    default-character-set=utf8

    [mysql]

    default-character-set=utf8

    4、将C:\mysql-5.5.57\data文件夹下的所有文件复制到C:\mysqldb\data文件夹下;

    5、cmd控制台cd到C:\mysql-5.5.57\bin目录内,执行下面的命令:

    mysqld --install

    以上命令回车后正常的结果是:Servicesuccessfully installed

    6、再输入下面的命令:

    mysqld --console

    以上命令会导致命令等待(不会退出:https://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_console)

    7、ctrl+C后,再输入下面的命令:

    net start mysql

    以上命令回车后正常的结果是:MySQL服务正在启动\n MySQL服务已经启动成功。

    8、系统环境变量的配置。继续输入命令:

    sysdm.cpl

    以上打开“系统属性”对话框,切换到“高级”|“环境变量”内;

    9、对Path环境变量添加;C:\mysql-5.5.57\bin;

    10、输入mysql -hlocalhost -uroot -p,默认的密码为空;

    11、进行其他的操作。比如首先做的第一件事是修改密码:

    >use mysql;

    >update user set password=password(‘root’)where user=’root’;

    >flush privileges;

    *停止mysql服务的命令是net stop mysql;

    *删除mysql服务的命令是mysqld --remove;

    mysql5.7

    1、解压下载的文件、解压后的目录(data目录和my.ini是后来创建的)

    image.png

    2、添加环境变量(能安装mysql的人应该都知道如何配置环境变量)

    image.png

    3、新建my.ini文件(该文件是mysql启动时依赖的配置文件,解压后的文件中竟然没有一个默认的配置,也是醉了)

    image.png

    4、新建数据存储目录(即第3步中,datadir指定的目录)

    image.png

    5、启动控制台(必须以管理员权限启动,命令提示符),进入到mysql的解压目录

    image.png

    6、装载mysql服务(由于免安装版不会自动装载mysql服务,必须手动装载)

    mysqld --install

    image.png

    7、初始化数据库(免安装版中不会自动创建数据库,需要手动创建)

    mysqld --initialize-insecure --user=mysql;

    image.png

    8、启动mysql服务(由于my.ini中制定了启动的参数,本次启动为忽略密码的方式,此时通过navicate连接本地数据库会成功登录,并且mysql为名的数据库已经创建成功)

    net start mysql

    image.png

    image.png

    9、登录数据库,并修改密码(由于本次启动为忽略密码,提示输入密码时直接回车就可以登录)

    mysql –u root –p

    update mysql.user set authentication_string=password('123456789') where user='root' and Host = 'localhost';

    10、将mysql服务停掉,修改my.ini中的配置,修改为密码验证模式之后再次启动mysql,以后就可以正常使用mysql了

    net stop mysql

    注:本文大部分内容都是引用的,原文中第7和第8两步是颠倒的,亲测发现颠倒之后,在初始化数据库的时候会提示错误。

    image.png

    分析之后,讲服务停掉,并删除data下的文件。先初始化数据库,再启动服务,可以保证数据库初始化成功,并且服务正常启动。

    Skip-External-Locking参数介绍

    MySQL的配置文件my.cnf中默认存在一行skip-external-locking的参数,即跳过外部锁定。根据MySQL开发网站的官方解释,External-locking用于多进程条件下为MyISAM数据表进行锁定

    如果你有多台服务器使用同一个数据库目录(不建议),那么每台服务器都必须开启external locking;

    参数解释

    当外部锁定(external-locking)起作用时,每个进程若要访问数据表,则必须等待之前的进程完成操作并解除锁定。由于服务器访问数据表时经常需要等待解锁,因此在单服务器环境下external locking会让MySQL性能下降。所以在很多Linux发行版的源中,MySQL配置文件中默认使用了skip-external-locking来避免external locking。
    当使用了skip-external-locking后,为了使用MyISAMChk检查数据库或者修复、优化表,你必须保证在此过程中MySQL服务器没有使用需要操作的表。如果没有停止服务器,也至少需要先运行


    代码如下:

    mysqladmin flush-tables

    命令,否则数据表可能出现异常。
    参数使用说明
    如果是多服务器环境,希望打开external locking特征,则注释掉这一行即可


    代码如下:

    # skip-external-locking

    如果是单服务器环境,则将其禁用即可,使用如下语句


    代码如下:

    skip-external-locking

    注意事项
    在老版本的MySQL中,此参数的写法为:


    代码如下:

    skip-locking

    如果在新版本MySQL配置中依然使用此写法,则可能出现:
    [Warning] ‘–skip-locking' is deprecated and will be removed in a future release. Please use ‘–skip-external-locking' instead.错误。

    navicat连接数据库1045错误

    1045    Access denied for user 'root'@'localhost' (using password:YES)

    这个意思是说:用户“root”@本地主机的访问被拒绝

    这种问题的本质是用户密码出现错误。

    解决经验:

    1.找到MySQL安装路径下的my.ini文件,用记事本的方式打开;

    2.打开后,找到mysqld这个位置,这个文件的内容中有多个mysqld,注意看箭头所指位置

    3.在 [mysqld] 底下添加语句:skip-grant-tables,添加完毕后保存。如果提示不让修改这个文件,则可将它复制到桌面,再用记事本打开它,添加完毕后,将桌面上的文件复制到原来的地方,赋值时选择替换目标文件;

    好学的你肯定也想知道这个skip-grant-tables是什么意思,如下介绍:

    skip-grant-tables作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库。

    也就是说,启用这个参数之后,数据库的安全性会降低。

    4.WIN+R —>cmd—>mysql -u root -p,这个命令是连接数据库服务器的命令;遇到Enter  passward:直接回车;

    5.继续执行如下操作:

    mysql>use mysql          //使用这个数据库

    mysql>uodate user set passward=passward("123456") whrer user="root";   //修改数据库的密码

    mysql>flush privileges;      //刷新数据库

    这要步骤已经完成,我们来看看修改后的用户和密码:

    到这里修改密码的工作已经完成。接下来要将在my.ini中添加的语句删掉。删掉之后再重启服务器,在测试链接,如果没有错误,一切OK;如果删掉语句,重启服务器之后任然有1045错误,那么,还是在my.ini原来删掉这条语句的位置中添加这条语句:skip-grant-tables,再重启服务器,再测试,一切OK。

    mysql 在Windows2003安装,系统无法执行指定程序

    问题出现:

    后来各种百度谷歌。。。然后学会看系统日志了,计算机管理-事件查看器-系统。。。

    发现了错误

    还是想问这是啥???????

    事件ID为32的描述是这样的:找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有安装在系统上。
    事件ID为59的描述是这样的:Resolve Partial Assembly 为 Microsoft.VC90.CRT 失败。 参考错误消息: 参照的汇编没有安装在系统上。
    另一个事件ID为59的描述是:Generate Activation Context 为 E:\***\php.exe 失败。 参考错误消息: 参照的汇编没有安装在系统上。

    然后借用一位大哥的博客:

    http://www.deepseath.com/?p=858

    下载安装地址:http://download.microsoft.com/download/9/7/7/977B481A-7BA6-4E30-AC40-ED51EB2028F2/vcredist_x86.exe

    下载安装一下就ok了:

    ————————————————

    以上参考CSDN和博客园整理而来,后面遇到就不用遍地找了

    一个java小菜鸡的进阶之路,我的个人博客:http://www.zjhuiwan.cn 欢迎访问!
  • 相关阅读:
    线段树模板(HDU 6356 Glad You Came)
    Treap模板
    Codeforces Round #499 (Div. 2) D. Rocket题解
    Codeforces Round #499 (Div. 2) C Fly题解
    KMP与AC自动机模板
    HDU 6351 Naive Operations(线段树)
    python核心编程第六章练习6-13
    python核心编程第六章练习6-12
    [转]我为什么要学习python
    python核心编程第六章练习6-11
  • 原文地址:https://www.cnblogs.com/sunonzj/p/12028813.html
Copyright © 2020-2023  润新知