mysql初始化实例报错_mysql初始化,启动服务连接mysql的错误案例

mysql版本:Server version: 5.6.17 Source distribution,编译安装路径/usr/local/msyql

系统环境:

# uname -a

Linux swallow 2.6.32-431.el6.x86_64 #1 SMPFri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

首先初始化mysql(生成数据库的结构)

# ./scripts/mysql_install_db--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

这里需要注意如果以前的数据库在运行,必须关掉。不然。是不停的循环。CRT下ctrl+c和ctrl+z都停不下来。

再接下来出现2个OK就说明成功了。

这个是系统自带的my.cnf(/etc/my.cnf)

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommendedto prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

启动服务

[root@swallow mysql]#./support-files/mysql.server start

Starting MySQL... ERROR! Theserver quit without updating PID file (/usr/local/mysql/data/swallow.pid).

修改my.cnf

[mysqld]

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

port= 3306

server_id = 1

socket = /usr/local/mysql/data/mysql.sock

user= mysql

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]

log-error=/usr/local/mysql/data/mysqld.log

pid-file=/usr/local/mysql/data/swallow.pid

然后将my.cnf替换系统自带的

# \mv my.cnf  /etc/my.cnf

# ./support-files/mysql.server start

Starting MySQL. SUCCESS!

服务启动成功。

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

这2个参数也可以在启动脚本(./support-files/mysql.serve)里面修改。

连接msyql

# ./bin/mysql

ERROR 2002 (HY000): Can't connectto local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

出现错误。

修改配置文件:

vim/etc/my.cnf

在末尾添加:

[client]

default-character-set=utf8

socket=/usr/local/mysql/data/mysql.sock

这里需要注意的是:不要在中间插入:因为my.cnf格式的模块是松散的没有明确的结束标志。容易把别的字段的配置隔断。造成无法解析。

# ./bin/mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.17 Source distribution

Copyright (c) 2000, 2014, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarksof their respective

owners.

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

mysql>

今天重新安装mysql做mysql主从。发现原来哪些配置都是安装的时候加入的。如果需要修改只能通过修改配置文件my.cnf在启动的时候重新读取配置文件my.cnf 特别是在做多个 mysql实例的时候。就需要这些配置的支持。安装mysql的一些编译参数

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

#指定安装路径

-DMYSQL_DATADIR=/usr/local/mysql/data \

#指定mysql数据(库)文件的存放路径

-DSYSCONFDIR=/etc \

#配置文件

-DWITH_MYISAM_STORAGE_ENGINE=1 \

#引擎支持myisam

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

#引擎支持 innodb

-DWITH_MEMORY_STORAGE_ENGINE=1 \

#引擎支持 memory-storage

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

#指定mysql的sock文件路径

-DMYSQL_TCP_PORT=3306 \

#指定mysql端口号

成功连接数据库。开始新的学习篇章。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统下,可以通过多个实例来运行多个MySQL服务器,每个实例可以拥有独立的配置文件、数据目录和日志文件等。这样可以方便地管理多个不同的MySQL实例,提高系统的可靠性和稳定性。下面简单介绍一下在Linux下MySQL实例安装的过程。 1. 安装MySQL 首先需要安装MySQL,可以通过命令行或者图形界面进行安装。以Ubuntu系统为例,可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install mysql-server ``` 2. 创建新的MySQL实例目录 在Linux系统下,每个MySQL实例需要有独立的数据目录和日志文件等。可以使用以下命令创建一个新的MySQL实例目录: ``` sudo mkdir /var/lib/mysql2 ``` 3. 复制MySQL配置文件 每个MySQL实例需要有独立的配置文件,可以通过复制默认配置文件来创建新的配置文件。以Ubuntu系统为例,可以使用以下命令复制默认配置文件: ``` sudo cp /etc/mysql/my.cnf /etc/mysql/my2.cnf ``` 4. 修改新的配置文件 修改新的配置文件,使其指向新的数据目录和日志文件等。以Ubuntu系统为例,可以使用以下命令编辑新的配置文件: ``` sudo vi /etc/mysql/my2.cnf ``` 在文件中修改以下内容: ``` [client] port = 3307 socket = /var/run/mysqld/mysqld2.sock [mysqld_safe] pid-file = /var/run/mysqld/mysqld2.pid socket = /var/run/mysqld/mysqld2.sock [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld2.pid socket = /var/run/mysqld/mysqld2.sock port = 3307 basedir = /usr datadir = /var/lib/mysql2 tmpdir = /tmp log_error = /var/log/mysql/error2.log ``` 其中,需要修改的内容主要是端口号、数据目录、日志文件等。 5. 初始化新的MySQL实例 使用以下命令初始化新的MySQL实例: ``` sudo mysqld --defaults-file=/etc/mysql/my2.cnf --initialize-insecure --user=mysql ``` 其中,--defaults-file参数指定使用新的配置文件,--initialize-insecure参数表示不设置root密码,--user参数表示启动MySQL进程的用户。 6. 启动新的MySQL实例 使用以下命令启动新的MySQL实例: ``` sudo systemctl start mysql@2.service ``` 其中,2表示新的MySQL实例的编号。 至此,多实例MySQL服务器已经成功安装。可以通过以下命令查看多个MySQL实例的状态: ``` sudo systemctl status mysql@*.service ``` 其中,*表示所有的MySQL实例

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值