本文目录一览:
- 1、linux下 安装mysql 问题
- 2、Linux下 MYSQL问题
- 3、linux mysql遇到的问题
- 4、请帮忙分析Linux下mysql启动不起来的原因
- 5、Linux中mysql服务经常自动停止,求大神解决!!
linux下 安装mysql 问题
因为mysql程序在启动的时候 非常依赖my.cnf里面的配置,而my.cnf文件中的配置,在执行mysql初始化的时候就可以手动指定。
如果mysql不是使用yum安装,而是将mysql安装到自定义的目录下时,在启动mysql、连接mysql的时候 都要指定my.cnf文件。或者 将my.cnf文件放到/etc下(这是因为mysql寻找my.cnf文件时首先会从/etc/my.cnf开始,然后/etc/mysql/my.cnf--》/usr/local/mysql/etc/my.cnf--》~/.my.cnf---》最后是自定义路径)
下面是我自己在linux上安装了一遍的过程,你可以参考一下。
软件包
[root@hilodbtool soft]# ls mysql-5.5.45-linux2.6-i686.tar.gz
mysql-5.5.45-linux2.6-i686.tar.gz
解压修改属组
tar -zxf mysql-5.5.45-linux2.6-i686.tar.gz
cd mysql-5.5.45-linux2.6-i686
chown -R mysql.mysql ./*
[root@hilodbtool mysql-5.5.45-linux2.6-i686]# ls
bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files
关于手动创建my.cnf
因为mysql程序在启动的时候十分依赖my.cnf文件,目前我的本机上已经安装了一个mysql,ect/my.cnf已经存在,所以手动创建一个my.cnf作为新建mysql的cnf文件
mkdir -p /hilodb/soft/mysql
mkdir -p /var/run/mysqld
chown -R mysql.mysql /hilodb/soft/mysql
chown -R mysql.mysql /var/run/mysqld
cat /tmp/my.cnf EOF
[mysqld]
basedir=/hilodb/soft/mysql-5.5.45-linux2.6-i686
datadir=/hilodb/soft/mysql
socket=/hilodb/soft/mysql/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/hilodb/soft/mysql/mysqld.pid
socket=/hilodb/soft/mysql/mysql.sock
[mysql]
socket=/hilodb/soft/mysql/mysql.sock
[client]
port= 3306
socket= /hilodb/soft/mysql/mysql.sock
EOF
初始化数据库
cd mysql-5.5.45-linux2.6-i686
scripts/mysql_install_db --user=mysql --defaults-file=/tmp/my.cnf
centos6.8 64bit环境下启动的时候报
[root@hilodbtool bin]# ./mysqld_safe --help
./mysqld_safe: ./my_print_defaults: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
./mysqld_safe: ./my_print_defaults: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
处理上面的报错
yum install glibc.i686
yum install libgcc.i686
yum install libaio*.i686*
yum install ncurses-*.i686*
启动数据库
cd /hilodb/soft/mysql-5.5.45-linux2.6-i686/bin
./mysqld_safe --defaults-file=/tmp/my.cnf --ledir=/hilodb/soft/mysql-5.5.45-linux2.6-i686/bin/
进入数据库
cd /hilodb/soft/mysql-5.5.45-linux2.6-i686/bin
./mysql --defaults-file=/tmp/my.cnf
修改root密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('oracle');
flush privileges;
***************登录报错 ###也就是处理socket的问题 ***************
[root@hilodbtool bin]# mysql -uroot -poracle
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
登录报错
两种解决方法
第一种
ln -s /hilodb/soft/mysql/mysql.sock /tmp/mysql.sock
第二种
因为mysql程序搜索my.cnf的顺序
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
~/.my.cnf
其他自定义路径下的my.cnf,例如:/data/mysql/yejr_3306/my.cnf
所以替换/etc/my.cnf
cp /tmp/my.cnf /etc/
cp: overwrite `/etc/my.cnf'? y
rm -rf /tmp/mysql.sock
再次登录成功
mysql -uroot -poracle
mysql
修改环境变量
将一下内容 添加到 /etc/profie 最后
export PATH=/hilodb/soft/mysql-5.5.45-linux2.6-i686/bin:$PATH
然后在终端执行 source /etc/profile 使环境变量生效
which mysql
[root@hilodbtool ~]# which mysql
/hilodb/soft/mysql-5.5.45-linux2.6-i686/bin/mysql
登录测试
Linux下 MYSQL问题
当前目录不在$PATH里。
你用绝对路径试试看。
楼上回答正确。我没注意到已经有人回答,不小心撞车了!
linux mysql遇到的问题
请问你不能登录的操作不是在从服务器上操作的吧?
有可能是ip的限制。默认只有在本机允许root用户登录。
请帮忙分析Linux下mysql启动不起来的原因
以下错误日志提示,都是查看 MySQL 错误日志得到,查看方法如下:
查看下 MySQL 配置文件 my.cnf 中有记录,日志记录在/log/mysql/error.log下
?MySQL 配置文件 my.cnf 权限问题导致无法启动,错误提示:World-writable config file ‘/etc/my.cnf’ is ignored
?Binlog 丢失导致无法启动,错误日志: File ‘./mysql-bin.000001’ not found
?Binlog 无法读取导致无法启动,错误日志:Failed to open log (file ‘./mysql-bin.000001’, errno 13)
?不能创建 PID 导致无法启动,错误日志:Can’t start server: can’t create PID file: No such file or directory
?不能创建临时文件导致无法启动,错误日志:mysqld: Can’t create/write to file ‘/tmp/ibfguTtC’ (Errcode: 13)
?MySQL 服务无法识别导致无法启动,错误提示:mysqld: unrecognized service
?MySQL 配置了过大的内存导致无法启动,错误日志:InnoDB: Cannot allocate memory for the buffer pool
?MySQL 启动参数过多导致无法启动,错误提示:Too many arguments (first extra is ‘start’)
?MySQL 目录权限问题导致无法启动,错误日志:File ‘./mysql-bin.index’ not found (Errcode:13 – Permission denied)
?MySQL 未初始化导致无法启动,错误提示:can’t open the mysql.plugin table
?MySQL 启动成功但未监听端口
?MySQL ibdata1权限问题导致无法启动,错误日志:InnoDB Operating system error number 13 in a file operation
?磁盘空间满导致 MySQL 无法启动
?进程残留导致 MySQL 无法启动
?MySQL 服务自动停止
这些是错误提示你对照去找你的原因就这么多了
Linux中mysql服务经常自动停止,求大神解决!!
分析原因一:Mysql的自动备份功能可能导致数据库在备份的时候先关闭服务,而在此启动的时候服务器不响应,
开始-运行-services.msc,打开windows服务找到mysql的服务并双击,点击恢复选项卡,第一次失败:默认是“不操作”,改成”重新启动服务”。
在下方的“重新启动服务:分钟后”添上“0”表示如果服务意外终止则立即重启动。点击确定使设置生效。这时候你在任务管理器里结束mysql-nt进程,会发现结束不掉,不过要注意,这样mysql.exe是停不了的,如果要停必须把刚才修改的改回来.)
分析原因二,可能是mysql连接问题
修改mysql的最大连接数, 使用内存变量修改法修改mysql的最大连接数
步骤如下(同时适用windows和linux平台):
a、客户端登录mysql,输入用户名和密码’b、在mysql命令提示符下设置新的最大连接数为500:mysql set global max_connections=500
c、显示当前运行的query:mysql show processlist
d、显示当前mysql 系统参数状态:mysql show status# k;
e、退出客户端:mysql exit’
查看当前最大连接数只需要通过在mysqladmin所在目录下执行以下命令:mysqladmin -username -password variables |find “max_con” 即可看到。也可以使用php教程myadmin里头的mysql参数列表查看最大连接数。
缺点:重启计算机或者mysql后最大连接数又会复位成初始值,需要重新设定。
2、修改my.ini或my.cnf文件法(需要重启mysql),可参考同目录下mysql的配置模板(小内存、大内存、超大内存). e windows系统下打开my.ini文件找到set-variable =max_connections=100这一行,改成需要设定的最大连接数,然后重启即可。
linux控制台下:
1、打开my.cnf文件:vi /etc/my.cnf
2 在[mysqld]段下修改max_connections的值为设定值。
注意:
可能大家安装的mysql来源和版本不同(windows下mysql+iis和php+apache+mysql套件最终安装结果几乎都不相同),my.ini文件的路径可能有些不同,my.ini可能还会保留一份在c:windows目录下需要同时修改