十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、mysql_install_db说明
渭源ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
当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
during 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 = utf8
port = 3308
socket = /tmp/mysql_3308.sock
[mysqld]
user = mysql
port = 3308
socket = /tmp/mysql_3308.sock
basedir = /usr/local/mysql
datadir = /data1/mysql_3308/data
log-error = /data1/mysql_3308/mysql_error.log
pid-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'
1、在我们的电脑上面找到mysql的安装路径,点击进去。
2、进去之后可以看到my.ini在mysql安装路径的根目录,这是其中一种情况。
3、另外一种情况是我们在mysql安装目录找不到,看到了my-default.ini文件,这时my.ini在“C:\ProgramData\MySQL\MySQL Server 5.6”目录下面,我们首先需要找到ProgramData文件夹,这是一个隐藏文件,需要隐藏文件可见才行,或者可以直接检索。
4、我们可以看到在“C:\ProgramData\MySQL\MySQL Server 5.6”目录下面找到了my.ini文件。
5、我们右键my.ini文件,选择打开方式,可以通过记事本和其他文本编辑器打开。
6、我们可以看到my.ini的文件打开了。
一、确认MYSQL已经配置且正确
重新配置 如果是重新安装的MYSQL,请确认安装后的MYSQL经过第一次配置,否则会缺少my.ini文件,配置方法,可以在安装到最后一步时选择,现在开始配置MYSQL,或在程序组中运行MYSQL配置向导。配置完成后,要确保my.ini文件中[mysqld]字段下至少有basedir安装目录路径和datadir数据库路径。 配置之前,如果原来已经有过MySQL配置,可以先在MYSQL向导中进行执行一次REMOVE INSTANCE,然后再重新配置。 覆盖数据表 默认的MYSQL数据库会安装到My Document下,所以如果您的数据库目录在其它路径下,可以先把MYSQL停止掉,然后把数据库剪切到其它路径,然后拷贝相关数据表进入同一目录即可。 如果MYSQL数据表使用不同的账户,还需要在MYSQL创建账户,或直接使用原来的MYSQL数据表覆盖(需确认之前的MSYQL数据表是未损坏的)。 解决无法启动 遇到无法启动MYSQL时常见解决方法: A、先使用命令C:\Program files\mysql\bin\mysqladmin-u root -p shutdown来关闭MYSQL B、再在cmd命令行下,执行net start mysql启动mysql。 二、1067错误常见解决方法 故障现象 如果在停止MYSQL(net stop mysql)或启动MYSQL时,出现1067错误,错误信息“MySql 服务正在停止...系统出错(A system error has occurred.)...系统发生 1067 错误(System error 1067 has occurred.),进程意外终止(The process terminated unexpectedly.)”等。 常见解决方法 如果以前一直运行OK的,请先按照上面的“无法启动”解决方法执行一次看看。 如果进行过Remove Instance操作,再次重建时后,一定要检查my.ini文件中的datadir是否已被还原了,如果该地址下数据库不存在,也将报告1067错误,只需要修改成真实的数据库目录地址,然后手动启动即可。 检查MYSQL目录权限 检查my.ini文件中[mysqld]字段下是否有basedir安装目录路径和datadir数据库路径,my.ini可能需要出现在两个地方,MYSQL的安装目录和Windows目录(假设是windows环境)下,都要检查一下。 有时候删除%windir%/my.ini文件然后再重新配置也可以解决,再次配置后检查一下Windir目录下是否有my.ini文件,有时把安装目录下最新的my.ini拷贝过去覆盖一下也能解决问题。 如果是Linux环境,试一下把mysql.server拷贝至/etc/rc.d/init.d/下,然后再运行chkconfig mysql.server,之后就可以在命令行中设置PATH、使用命令执行mysql启动。 三、非法关机造成的MYSQL无法启动问题 如果是因为非法关机等原因导致MYSQL无法启动或启动有问题的,最好使用重新安装的或确认是OK的MYSQL数据表及ibdata1、mysql.pid、ib_logfile0等文件进行覆盖,天缘试过遇到过多次这种情况,就是原来的MYSQL表有问题了,总是无法启动,但是更换成新表就可以。 四、重装MYSQL 发现MYSQL有问题时,最便捷的方法,是先把mysql卸载掉,然后重装重新配置,具体方法如下: 1、卸载MYSQL,清理掉安装目录和Windows目录下的my.ini文件。 2、检查任务管理器中是否还有mysql进程,如果有,可以把mysqld.exe杀掉,或者先杀掉再卸载也可以。 3、在cmd命令窗口,执行:sc delete mysql,该命令是清理注册服务命令。 3. 重装 mysql 如果是安全设置以后出现这个问题,可能是因为mysql以低权限运行的时候因为密码策略等问题导致,大家看恶意将mysql的启动用户更下下密码,然后在服务项里设置下即可。
1先将mysql-noinstall-5.1.66-winx64.zip解压缩到 d:\appspace\mysql
2将其中的data 文件夹移动到d:/appspace/mysqlData 即mysql的 data路径为:d:/appspace/mysqlData/data
3my.ini配置文件有2个可选择的位置:
打开E:\appSpace\mysql \ my-large.ini (如果后面mysql出现1067错误,启动不了的话,可试着用my-huge.ini或其他), 在最后加上如下几行,然后另存为my.ini(C:\Windows).
#--------------------------------------------------------
[mysqld]
basedir=d:/appspace/mysql
datadir=d:/appspace/mysqlData/data
default-character-set=utf8
[WinMySQLAdmin]
Server=d:/appspace/mysql/bin/mysqld.exe
#default-character-set=utf8
[client]
default-character-set=utf8
#--------------------------------------------------------
4可以在mysql中查看设定的字符集(一定要在[mysqld] 中设定utf-8):
mysql show variables like 'character%';
+--------------------------+-----------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | d:\appspace\mysql\share\charsets\ |
+--------------------------+-----------------------------------+
2 配置服务(命令行必须以administrator身份运行)
1)将MySQL 添加到服务中。
在Windows Run中输入cmd,这时上面有提示(cmd.exe),右键单击cmd.exe, 选择Run as administrator,进入路径: d:/appspace/mysql /bin
输入 mysqld --install MySQL --defaults-file="C:\Windows\my.ini"
要指定defaults-file.
命令行中输入services.msc回车,可以看到MySQL已被添加到Services中,
Path to executable中的内容为
d:\appspace\mysql\bin\mysqld --defaults-file=C:\windows\my.ini MySQL
2)启动MySQL
在MySQL Service中点击Start按钮,或者在命令行(Run as administrator)中输入 net start mysql.
如果出现1067错误,启动不了,则重新检查my.ini文件(前面有描述)
3)关闭MySQL
在MySQL Service中点击Stop按钮,或者在命令行(Run as administrator)中输入 net stop mysql.
4)删除mysql服务
mysqld –remove
3 环境变量
将d:\appspace\ mysql\bin添加到Path中。
1、解压MySQL压缩包
将下载的MySQL压缩包解压到自定义目录下,解压目录是:
"D:\Program Files\mysql-5.7.11-winx64"
将解压目录下默认文件 my-default.ini 拷贝一份,改名 my.ini
复制下面的配置信息到 my.ini 保存
#如果没有my-default.ini,可新建my.ini或者从其他地方中获取
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
#解压目录
basedir=D:\Program Files\mysql-5.7.11-winx64
#解压目录下data目录
datadir=D:\Program Files\mysql-5.7.11-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\Program Files\mysql-5.7.11-winx64\bin\mysqld.exe
2、添加环境变量
操作如下:
1)右键单击我的电脑-属性-高级系统设置(高级)-环境变量
点击系统变量下的新建按钮
输入变量名:MYSQL_HOME
输入变量值:D:\Program Files\mysql-5.7.11-winx64
#即为mysql的自定义解压目录。
2)选择系统变量中的Path
点击编辑按钮
在变量值中添加变量值:;%MYSQL_HOME%\bin
注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值
3、 1)从控制台进入到MySQL解压目录下的 bin 目录下:
2)输入服务安装命令:
1. mysqld --console
2. mysqld --initialize
3. mysqld install
安装成功后会提示服务安装成功。
#注: #执行这几步,是因为在MySQL5.7.9中没有data文件夹,需要用这几个命令产生data文件夹
#移除服务命令为:mysqld remove
4、启动MySQL服务
方法一:
启动服务命令为:net start mysql
方法二:
打开管理工具 服务,找到MySQL服务。
通过右键选择启动或者直接点击左边的启动来启动服务。
5、修改 root 账号的密码
1. 修改MySQL的配置文件(my.ini),在[mysqld]下添加一行skip-grant-tables
2. mysql 重启后,即可直接用 mysql -u root -p 进入(此时密码为空)
3. mysql update mysql.user set authentication_string=password('123qaz') where user='root' and Host = 'localhost';
4. mysql flush privileges;
5. mysql quit;
6. 将/etc/my.cnf文件还原(删除skip-grant-tables这一行),重新启动 mysql
7. 这个时候可以使用 mysql -u root -p '123qaz' 进入了
8. mysqlSET PASSWORD = PASSWORD('123456'); 设置新密码