1. 怎么配置mysql数据库配置文件
一、mysql_install_db说明当MySQL的系统库(mysql系统库)发生故障或需要新加一个mysql实例时,需要初始化mysql数据库。需要使用的命令:/usr/local/mysql/bin/mysql_install_db#/usr/local/mysql/bin/mysql_install_db –help 可以查看帮助信息如下Usage: /usr/local/mysql/bin/mysql_install_db [OPTIONS] –basedir=path The path to the MySQL installation directory. –cross-bootstrap For internal use. Used when building the MySQL system tables on a different host than the target. –datadir=path The path to the MySQL data directory. –force Causes mysql_install_db to run even if DNS does not work. In that case, grant table entries that normally use hostnames will use IP addresses. –ldata=path The path to the MySQL data directory. –rpm For internal use. This option is used by RPM files ring the MySQL installation process. –skip-name-resolve Use IP addresses rather than hostnames when creating grant table entries. This option can be useful if your DNS does not work. –srcdir=path For internal use. The directory under which mysql_install_db looks for support files such as the error message file and the file for popoulating the help tables. –user=user_name The login username to use for running mysqld. Files and directories created by mysqld will be owned by this user. You must be root to use this option. By default mysqld runs using your current login name and files and directories that it creates will be owned by you.All other options are passed to the mysqld program除了支持以上的参数,还支持mysqld的参数。二、举例: 本文以新加一个mysql实例为例。例如服务器上已经安装了3306端口的mysql服务,需要再启一个3308端口的mysql服务。 假设mysql安装在/usr/local/mysql路径下,找一个磁盘空间剩余比较大的盘,如/data1,把3308端口的mysql的数据保存在/data1下#mkdir /data1/mysql_3308#mkdir /data1/mysql_3308/data#chown -R mysql:mysql /data1/mysql_3308 复制一个mysql配置文件my.cnf到/data1/mysql_3308目录下#vi /data1/mysql_3308/my.cnf修改配置文件,将端口和相关目录的都改为新的设置,如下:[client]character-set-server = utf8port = 3308socket = /tmp/mysql_3308.sock[mysqld]user = mysqlport = 3308socket = /tmp/mysql_3308.sockbasedir = /usr/local/mysqldatadir = /data1/mysql_3308/datalog-error = /data1/mysql_3308/mysql_error.logpid-file = /data1/mysql_3308/mysql.pid……其他略 确保配置文件无误。运行下面命令进行数据库的初始化:#/usr/local/mysql/bin/mysql_install_db –defaults-file=/data1/mysql_3308/my.cnf –datadir=/data1/mysql_3308/data完成后新的3308数据库就初始化好了,如果有报错,则按照报错的提示查看报错日志,一般情况下都是my.cnf配置文件的问题,修正后即可。三、启动新mysql启动3308端口的mysql服务#/usr/local/mysql/bin/mysqld_safe –defaults-file=/data1/mysql_3309/my.cnf &检查是否启动#ps aux|grep mysql如果有3308字样说明已经启动成功可将启动命令加入/etc/rc.local随服务器启动新加的mysql没有设置root密码,可以通过下面命令设置root密码:#/usr/local/mysql/bin/mysqladmin -S /tmp/mysql_3308.sock -u root password 'new-password'
2. linux下安装mysql,求助大侠们
MySQL有两种安装方式:源码包安装和二进制包安装。这两种方式各有特色:二位制包安装不需编译,针对不同的平台有经过优化编译的不同的二进制文件以及包格式,安装简单方便;源码包则必须先配置编译再安装,可以根据你所用的主机环境进行优化,选择最佳的配置值,安装定制更灵活。下面分别介绍这两种安装方式。3.1 源码包方式安装 3.1.1 在linux系统中添加运行Mysql的用户和组 /usr/sbin/groupadd mysql /usr/sbin/useradd -d /var/lib/mysql -s /sbin/nologin -g mysql mysql 3.1.2 下载最新稳定发行版(GA)的MySQL软件 访问MySQL网站http://dev.mysql.com/downloads/下载最新稳定发行版的MySQL源码包。本文使用的是5.0.51版本,在linux系统下用下面的命令下载: wget http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.0/mysql-5.0.51.tar.gz 3.1.3 解压缩下载的源码包 首先建立一个工作目录( 笔者建议的目录为/usr/local/src/mysql ) : mkdir -p /usr/local/src/mysql 将下载的源码包移至工作目录: mv mysql-5.0.51.tar.gz /usr/local/src/mysql 进入工作目录并用tar命令解压源码包: cd /usr/local/src/mysql tar zxvf mysql-5.0.51.tar.gz 命令执行结束后,当前工作目录下将生成一个新的子目录mysql-5.0.51,此目录下即为mysql的源码文件。 3.1.4 配置Makefile文件 进入MySQL源码目录: cd mysql-5.0.51 执行下面的命令可查看可配置选项: ./configure –help 本文使用的配置命令格式如下: CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure –prefix=/usr/local/mysql –enable-thread-safe-client –enable-assembler –with-big-tables –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –with-charset=utf8 –with-collation=utf8_general_ci –with-extra-charsets=complex 配置选项说明: CC:C编译器的名称(用于运行configure),本文示例为gcc CFLAGS:C编译器的标志(用于运行configure),本文示例为-O3,指定优化级别为3 CXX:C++编译器的名称(用于运行configure),本文示例为gcc CXXFLAGS:C++编译器的标志(用于运行configure) –prefix:指定安装目录,本文示例为/usr/local/mysql –localstatedir:指定默认数据库文件保存目录,默认为安装目录下的var目录 –enable-thread-safe-client:编译线程安全版的MySQL客户端库 –enable-assembler:使用一些字符函数的汇编版本 –with-client-ldflags:客户端链接参数,本文示例为指定静态编译mysql客户端 –with-mysqld-ldflags:服务器端链接参数,本文示例为指定静态编译mysql服务器 –with-big-tables:在32位平台上支持大于4G行的表 –with-charset:指定默认字符集。mysql默认使用latin1(cp1252)字符集,可以使用此选项更改。字符集可以是big5、cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312、gbk、german1、hebrew、hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7或win1251ukr。 –with-collation:指定默认校对规则。mysql默认使用latin1_swedish_ci校对规则,可以使用此选项更改。 –with-extra-charsets:服务器需要支持的字符集,有三种可能的值:空格间隔的一系列字符集名;complex ,包括不能动态装载的所有字符集;all,将所有字符集包括进二进制。本文示例为complex。 注意:要想更改字符集和校对规则,要同时使用–with-charset和–with-collation选项。 校对规则必须是字符集的合法校对规则。(在mysql中使用SHOW COLLATION语句来确定每个字符集使用哪个校对规则)。 3.1.5 编译源代码 执行下面的命令编译源代码: make 3.1.6 安装 执行下面的命令安装mysql到目标路径: make install 3.1.7 复制默认全局启动参数配置文件到/etc目录 源码方式安装需要手动复制配置文件,配置模板位于源码树的support-files目录,有my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf四个,选择跟你的环境相接近的一个复制到/etc目录,并做适当修改。关于mysql配置文件的详细信息请参阅笔者的其它文章或是mysql官方文档。 本文示例选择my-medium.cnf,执行下面的命令将其复制到/etc目录: cp ./support-files/my-medium.cnf /etc/my.cnf 3.1.8 初始化授权表 执行下面的命令初始化授权表: ./scripts/mysql_install_db –user=mysql 3.1.9 更改mysql数据目录属主和权限 默认数据库文件保存目录为安装目录下的var目录,执行configure命令时可通过–localstatedir参数指定不同的目录,本文示例为默认位置。 chown -R mysql.mysql /usr/local/mysql/var chmod -R 700 /usr/local/mysql/var 3.1.10 设置开机自启动服务控制脚本 执行下面的命令复制启动脚本到资源目录: cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld 执行下面的命令增加mysqld服务控制脚本执行权限: chmod +x /etc/rc.d/init.d/mysqld 执行下面的命令将mysqld服务加入到系统服务: chkconfig –add mysqld 执行下面的命令检查mysqld服务是否已经生效: chkconfig –list mysqld 命令输出类似下面的结果: mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off 表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止。 启动mysqld服务: service mysqld start 停止mysqld服务: service mysqld stop 执行下面的命令关闭开机自启动: chkconfig mysqld off 执行下面的命令可以改变开机自启动的运行级别为3、5: chkconfig –level 35 mysqld on 3.1.11 将mysql的bin目录加入PATH环境变量 编辑/etc/profile文件: vi /etc/profile 在文件最后添加如下两行: PATH=$PATH:/usr/local/mysql/bin export PATH 执行下面的命令使所做的更改生效: . /etc/profile 3.2 二进制包方式安装 3.2.1 从安装媒体安装 Mysql二进制包已经包含在CentOS 5的安装媒体中,可以直接从安装媒体中安装下面三个rpm包: mysql-5.0.22-2.1.0.1.i386.rpm mysql-devel-5.0.22-2.1.0.1.i386.rpm mysql-server-5.0.22-2.1.0.1.i386.rpm 不同的版本文件名有所不同,请注意区分。 执行下面的命令安装: rpm -iUvh mysql-5.0.22-2.1.0.1.i386.rpm rpm -iUvh mysql-devel-5.0.22-2.1.0.1.i386.rpm rpm -iUvh mysql-server-5.0.22-2.1.0.1.i386.rpm 3.2.2 通过yum安装 如果你安装的机器此时可以连接到互联网,笔者建议使用yum命令来简化安装过程: yum install mysql-server mysql-devel mysql yum将自动从centos的镜像站点查找你指明的软件的最新二进制包,并检查软件包依赖关系,安装软件的同时自动安装其依赖的软件包。 3.2.3 从mysql网站下载最新稳定版本的二进制包安装 通过CentOS安装媒体或yum安装的二进制包版本会落后于mysql开发者网站发布的版本,可以从mysql网站下载安装最新稳定版本的mysql。 访问MySQL网站http://dev.mysql.com/downloads/下载最新稳定发行版的相应硬件平台的MySQL。本文使用的是Red Hat Enterprise Linux 5 RPM (x86) 5.0.45版本。需要下载Server、Client、Headers and Libraries、Share Libraries/Shared compatibility libraries几个rpm包,其它为可选包,按需要选择。 在linux系统下用下面的命令下载: wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-server-community-5.0.45-0.rhel5.i386.rpm wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-client-community-5.0.45-0.rhel5.i386.rpm wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-devel-community-5.0.45-0.rhel5.i386.rpm wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-shared-community-5.0.45-0.rhel5.i386.rpm wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-shared-compat-5.0.45-0.rhel5.i386.rpm 执行下面的命令安装: rpm -iUvh MySQL-server-community-5.0.45-0.rhel5.i386.rpm rpm -iUvh MySQL-client-community-5.0.45-0.rhel5.i386.rpm rpm -iUvh MySQL-devel-community-5.0.45-0.rhel5.i386.rpm rpm -iUvh MySQL-shared-community-5.0.45-0.rhel5.i386.rpm rpm -iUvh MySQL-shared-compat-5.0.45-0.rhel5.i386.rpm4. MySQL的配置 4.1 目录结构4.1.1 源码包方式安装目录结构 源码包方式安装时通常是在3.1.4节中configure命令的–prefix选项指定的目录中建立如下的目录结构,特殊指定的目录除外: ./bin #mysql用户可执行文件目录 ./include/mysql #mysql C头文件目录 ./info #mysql 信息文件目录 ./lib/mysql #mysql库文件目录 ./libexec #mysql后台daemon程序目录 ./man #mysql联机帮助文档目录 ./mysql-test #mysql测试程序目录 ./share/mysql #mysql公用文件目录,包括字符集、配置文件模板、启动脚本、初始化SQL文件等 ./sql-bench #mysql压力测试程序目录 /etc/my.cnf #mysql配置文件 /etc/rc.d/init.d/mysqld #mysqld服务启动脚本 4.1.2 RPM二进制包方式安装目录结构 二进制包方式安装时使用系统软件默认目录结构 : /usr/bin #mysql用户可执行文件目录 /usr/libexec #mysql后台daemon程序目录 /usr/lib/mysql #mysql库文件目录 /usr/lib64/mysql #如果为64系统,mysql 64位库文件目录 /usr/share/doc #mysql文档目录 /usr/share/info #mysql信息文件目录 /usr/share/man #mysql联机帮助文档目录 /usr/share/mysql #mysql字符集目录 /usr/include/mysql #mysql C头文件目录 /var/log #mysqld服务日志文件目录 /var/run/mysqld #mysqld服务运行状态目录 /var/lib/mysql #mysql数据文件目录 /etc/my.cnf #mysql配置文件 /etc/rc.d/init.d/mysqld #mysqld服务启动脚本 4.2 配置文件 Linux系统下,mysql的配置参数文件为my.cnf,一般按下面的顺序查找此文件:/etc目录、mysql安装目录、mysql数据目录。配置模板位于源码树的support-files目录,有my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf四个,关于mysql配置文件的详细信息请参阅笔者的其它文章或是mysql官方文档。 4.3 启动mysqld服务 执行下面的命令启动mysql: service mysqld start 4.3 设置mysql帐号 mysql安装后默认生成两个帐号:一个是root,未设置密码,可以从本机登录到mysql;另一个是匿名帐号,无帐号名、无密码,可以从本机登录,未提供用户名的连接都将假定为此帐号。这样的设置存在着安全隐患,按下面的步骤进行更改。 以root帐号连接到mysql服务器: mysql -u root 如果提示找不到mysql文件,请尝试使用绝对路径,如本文示例为: /usr/local/mysql/bin/mysql -u root 命令成功执行后将进入到mysql命令提示符下: mysql> (以下命令均在mysql命令提示符下执行) 改变当前数据库为mysql: use mysql 设置从本地主机登录的root帐号密码: set password for [email protected]=password('your password'); 或: update user set password=password('your password') where user='root' and host='localhost'; 删除匿名帐号: delete from user where user='' ; 删除密码为空的帐号: delete from user where password=''; 删除允许非localhost主机登录的帐号: delete from user where host<>'localhost' ; 执行下面的命令使更改生效: flush privileges ; 执行下面的命令退出mysql命令行: quit 或: /q5. 结束语 至此,Mysql基本安装完毕。希望本文能对初学者有所帮助。
3. linux mysql数据库文件是哪个
FreeBSD主机上的复mysql安装的时候数据库制文件放在/var/db/mysql下,在Linux主机上的默认存储位置是/var/lib/mysql/下。如果想更换mysql的数据文件的存储位置,则:FreeBSD下:# /usr/local/etc/rc.d/mysql-server stop(停止mysql)# mkdir /other..
4. rpm方式安装的MySQL服务如何修改数据文件目录
rpm安装默认目录:数据文件:/var/lib/mysql/配置文件模板:/usr/share/mysqlmysql客户端工具目录:/usr/bin日志目录:/var/log/pid,sock文件目录:/tmp/一般配置文件会放置在/etc下
5. Linux下rpm安装的mysql数据库的数据存放位置和其重要目录的介绍。
rpm安装默认目录:数据文件:/var/lib/mysql/配置文件模板:/usr/share/mysqlmysql客户端工具目录:/usr/bin日志目内录:/var/log/pid,sock文件目录:/tmp/一般配置文件会放容置在/etc下
6. 如何配置全世界最小的 MySQL 服务器
首先我们先解压Mysql的安装包,建议解压到 /usr/local/src 目录中方便管理# tar xf mysql-5.6.16.tar.gz # cd mysql-5.6.16然后我们执行以下指令对源码包进行预处理:cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci配置中指定了安装路径、数据库路径、配置文件路径等参数。等配置结束后可以使用 echo $? 查看返回值确定是否配置成功。我在编译时便遇到了一个名为 ncurses-devel 的依赖包没有安装,具体信息请阅读错误提示。等我用yum源安装好后发现无法继续cmake了,只好删除后重新解压源码包才配置成功的。好了 一切没问题了就开始 make && make install 吧!# make && make install由于源码包比较大,解压后我统计了下,竟然291M,天啊这可得慢慢等待了。我花费了一个多小时才编译完成的,也是够慢了。编译安装完成后会生成 /usr/local/mysql 这样一个文件夹,如果选用了直接解压二进制包,就把它解压到 /usr/local 中。我们进入这个文件夹中看看bin 这个目录存放着mysql的服务器和客户机程序,我们应该添加到环境变量data 这个文件夹就是数据库目录include 这里存放着mysql开发用的函数头文件,可以被其他源码包编译时依赖lib Mysql运行需要的运行库scripts Mysql初始化数据库的脚本,更改数据库目录后也需要进行初始化man Mysql是使用手册,需要让man命令识别这个路径才能使用support-files 其中存放着Mysql的配置文件模板和服务控制脚本等文件Mysql的配置文件为 /etc/my.cnf ,数据库目录为 /usr/local/mysql/data接下来就开始部署这些文件,然后让Mysql启动起来吧!首先建立mysql用户和组,并不创建家目录,不允许登陆系统# groupadd mysql# useradd -M -s /sbin/nologin -g mysql mysql设置mysql安装目录的属主和属组# chown -R mysql:mysql /usr/local/mysql/给数据库目录可读可写的权限# chmod 777 -R /usr/local/mysql/data/复制配置文件和服务控制脚本到相应位置# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld编辑配置文件 /etc/mysql.cnf,添加:basedir = /usr/local/mysqldatadir = /usr/local/mysql/data指定安装目录和数据库目录就可以了,其他参数先不用管。如图一所示接下来就可以初始化数据库了# cd /usr/local/mysql# scripts/mysql_install_db –user=mysql结果如图二所示就代表成功了,可以用 echo $? 查看返回值现在就可以启动Mysql数据库服务了 它的启动命令是 mysqld# service mysqld start然后出现大写的 " SUCCESS "就代表启动成功了,然后用netstat看看它监听的端口吧!# netstat -anpt | grep mysqld我们发现它默认监听在 TCP 的" 3306 "端口我们可以用它自带的 mysql 命令连接进去看看用 -u 指定用户名 -h 指定主机 -p 来输入密码# /usr/local/mysql/bin/mysql -u root -h localhost -p这个root用户可不是系统登陆的root用户,而是mysql服务器中的一个默认用户。由于我们还没有给root用户设置密码,直接回车就可以进如了,如果出现一个" mysql > "就代表成功了。输入" exit "命令退出。总使用绝对路径来执行mysql命令也不是办法,我们把它的环境变量配置下吧# echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh# source /etc/profile.d/mysql.sh好啦,看看是不是能直接执行mysql命令了呢接下来就分析一下my.cnf这个配置文件的各参数意义basedir mysql的安装目录datadir 数据库目录port 指定服务端口,默认3306 端口server_id pid文件路径socket 套接字skip-locking 可避免mysql的外部锁定,降低系统出错几率skip-name-resolve 禁止mysql对外部连接进行DNS解析,可节约时间 key_buffer_size 设置索引缓存区大小,合理调节这个数值可以获得更好的索引处理性能,过度调大反而降低性能。参数没有可以自己添加sort_buffer_size 设置排序缓存区的大小 (每个连接独占)read_buffer_size 设置查询操作缓存区的大小 (每个连接独占)join_buffer_size 设置联合查询操作缓存区的大小 (每个连接独占)max_connections 设置服务器最大连接进程数mysql的root用户没有密码是非常不安全的,接下来我们为它配置一个密码。注意 要给root用户添加密码是需要启动服务的,请确保你的Mysqld服务处于运行状态# mysqladmin -u root password "himysql"如果已经设置了密码,想去修改 就要在命令上添加 -p 参数,-p 参数是用来提醒输入密码的,就和mysql命令一样# mysqladmin -u root password "himysql" -p接下来输入旧密码就可以更改新密码了,再试一试,登陆mysql服务器是不是需要使用密码了呢?如果是在本机登陆mysql服务器 -h 选项是可以省略的,如果使用root登陆,连-u 参数都可以省略,如果没有密码登录,连 -p 都是可以省略的,比如你第一次启动服务,直接mysql就可以连接上去了这个mysqladmin是Mysql服务器的管理程序,可用于执行检察配置文件、检查服务状态、关闭服务器、创建数据库以及删除数据库等的系统管理操作。其格式如下:mysqladmin 选项 参数 . . . create db_name 创建一个名为db_name的新数据库 debug 将debug信息写入错误日志 drop db_name 删除一个名为db_name的数据库 extended-status 显示服务器状态变量和他们的值 flush-hosts 刷新缓存中的所有信息 flush-logs 刷新所有日志信息 flush-privileges 重新载入授权表 flush-status 清除状态变量 flush-tables 刷新所有的表 flush-threads 刷新线程的缓存 ping 显示服务器运行状态 processlist 正在运行服务器线程的列表 password new_password 更改密码 shutdown 关闭服务器 start-slave 在从服务器上启动同步 stop-slave 在从服务器上关闭同步 -u root 指定用户 -h localhost 指定连接的主机 -p 指定需要输入密码其中一些概念不懂没关系,先眼熟就行了,在后面的学习中将会慢慢了解当我们用mysql命令登陆到服务器后,出现的" mysql > "我们应该怎么操作呢?在 mysql > 提示符下可以使用SQL语言或命令对数据库进行管理,每条SQL语句都以 " ; " 结束,且不区分大小写。用户可以通过上下键调出曾经输入过的命令。对数据库的操作不外乎增删查改,下面就看看一些很简单的命令吧!show databases; 查看当前存在的数据库use 数据库名称; 使用指定的数据库show tables; 查看指定数据库有哪些表create database 数据库名称; 创建新数据库drop 数据库名称; 删除数据库编译安装Mysql服务器到此也已经差不多了,除了编译时间长了些,按照步骤一步一步下来还是蛮简单的。如果想知道Mysql数据库的更多操作请看下一章:Mysql数据库的管理与备份恢复。一定要动手做一做哦!Enjoy Your Time !o(^▽^)o
7. 怎么配置mysql数据库配置文件
一.首先把mysql的服务先停掉。二.更改mysql配置文件my.ini中的数据库存储主路径三.将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径将原文件夹中的所有文件和文件夹拷贝到你新建的文件夹目录下。四.重启mysql服务五.验证更改数据库存储主路径的操作是否成功!
8. linux 安装mysql都需要安装哪些rpm
rpm安装默认目录: 数据文件:/var/lib/mysql/ 配置文件模板:/usr/share/mysqlmysql客户端工具目录:/usr/bin 日志目录:/var/log/ pid,sock文件目录:/tmp/ 一般配置文件会放置在/etc下
9. 怎么配置mysql初始化化配置文件
一、mysql_install_db说明当MySQL的系统库(mysql系统库)发生故障或需要新加一个mysql实例时,需要初始化mysql数据库。需要使用的命令:/usr/local/mysql/bin/mysql_install_db#/usr/local/mysql/bin/mysql_install_db –help 可以查看帮助信息如下Usage: /usr/local/mysql/bin/mysql_install_db [OPTIONS] –basedir=path The path to the MySQL installation directory. –cross-bootstrap For internal use. Used when building the MySQL system tables on a different host than the target. –datadir=path The path to the MySQL data directory. –force Causes mysql_install_db to run even if DNS does not work. In that case, grant table entries that normally use hostnames will use IP addresses. –ldata=path The path to the MySQL data directory. –rpm For internal use. This option is used by RPM files ring the MySQL installation process. –skip-name-resolve Use IP addresses rather than hostnames when creating grant table entries. This option can be useful if your DNS does not work. –srcdir=path For internal use. The directory under which mysql_install_db looks for support files such as the error message file and the file for popoulating the help tables. –user=user_name The login username to use for running mysqld. Files and directories created by mysqld will be owned by this user. You must be root to use this option. By default mysqld runs using your current login name and files and directories that it creates will be owned by you.All other options are passed to the mysqld program除了支持以上的参数,还支持mysqld的参数。二、举例: 本文以新加一个mysql实例为例。例如服务器上已经安装了3306端口的mysql服务,需要再启一个3308端口的mysql服务。 假设mysql安装在/usr/local/mysql路径下,找一个磁盘空间剩余比较大的盘,如/data1,把3308端口的mysql的数据保存在/data1下#mkdir /data1/mysql_3308#mkdir /data1/mysql_3308/data#chown -R mysql:mysql /data1/mysql_3308 复制一个mysql配置文件my.cnf到/data1/mysql_3308目录下#vi /data1/mysql_3308/my.cnf修改配置文件,将端口和相关目录的都改为新的设置,如下:[client]character-set-server = utf8port = 3308socket = /tmp/mysql_3308.sock[mysqld]user = mysqlport = 3308socket = /tmp/mysql_3308.sockbasedir = /usr/local/mysqldatadir = /data1/mysql_3308/datalog-error = /data1/mysql_3308/mysql_error.logpid-file = /data1/mysql_3308/mysql.pid……其他略 确保配置文件无误。运行下面命令进行数据库的初始化:#/usr/local/mysql/bin/mysql_install_db –defaults-file=/data1/mysql_3308/my.cnf –datadir=/data1/mysql_3308/data完成后新的3308数据库就初始化好了,如果有报错,则按照报错的提示查看报错日志,一般情况下都是my.cnf配置文件的问题,修正后即可。三、启动新mysql启动3308端口的mysql服务#/usr/local/mysql/bin/mysqld_safe –defaults-file=/data1/mysql_3309/my.cnf &检查是否启动#ps aux|grep mysql如果有3308字样说明已经启动成功可将启动命令加入/etc/rc.local随服务器启动新加的mysql没有设置root密码,可以通过下面命令设置root密码:#/usr/local/mysql/bin/mysqladmin -S /tmp/mysql_3308.sock -u root password 'new-password'