本文目录一览:
- 1、linux 下mysql 服务无法开启
- 2、linux 系统mysql 服务器内存利用率很高了怎么解决
- 3、如何在linux下安装mysql数据库并配置
- 4、linux中mysql安装完mysql启动时报错是怎么回事?
- 5、linux下怎么连接mysql数据库
- 6、请问如何在linux下启动mysql
linux 下mysql 服务无法开启
linux 下mysql 服务无法开启
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,把它删除掉
linux 系统mysql 服务器内存利用率很高了怎么解决
Linux 进程通过 C 标准库中的内存分配函数 malloc 向系统申请内存,但是到真正与内核交互之间,其实还隔了一层,即内存分配管理器(memory allocator)。常见的内存分配器包括:ptmalloc(Glibc)、tcmalloc(Google)、jemalloc(FreeBSD)。MySQL 默认使用的是 glibc 的 ptmalloc 作为内存分配器。
内存分配器采用的是内存池的管理方式,处在用户程序层和内核层之间,它响应用户的分配请求,向操作系统申请内存,然后将其返回给用户程序。
为了保持高效的分配,分配器通常会预先向操作系统申请一块内存,当用户程序申请和释放内存的时候,分配器会将这些内存管理起来,并通过一些算法策略来判断是否将其返回给操作系统。这样做的最大好处就是可以避免用户程序频繁的调用系统来进行内存分配,使用户程序在内存使用上更加高效快捷。
关于 ptmalloc 的内存分配原理,个人也不是非常了解,这里就不班门弄斧了,有兴趣的同学可以去看下华庭的《glibc 内存管理 ptmalloc 源代码分析》【文末链接】。
关于如何选择这三种内存分配器,网上资料大多都是推荐摒弃 glibc 原生的 ptmalloc,而改用 jemalloc 或者 tcmalloc 作为默认分配器。因为 ptmalloc 的主要问题其实是内存浪费、内存碎片、以及加锁导致的性能问题,而 jemalloc 与 tcmalloc 对于内存碎片、多线程处理优化的更好。
目前 jemalloc 应用于 Firefox、FaceBook 等,并且是 MariaDB、Redis、Tengine 默认推荐的内存分配器,而 tcmalloc 则应用于 WebKit、Chrome 等。
如何在linux下安装mysql数据库并配置
在linux下安装mysql数据库并配置的流程比较繁琐,需要耐心调试,具体方法和步骤如下:
1.查找以前是否安装有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果显示有如下包则说明已安装mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
2.如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库
删除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
删除老版本mysql的开发头文件和库
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
3.下载mysql的rpm包
可以通过wget下载具体的地址因为不能用链接请大家去官网去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。
下载后放到Liunx服务器中。
4.安装MySQL Server的rpm包
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看。
5.安装MySQL客户端
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
6.安装MySQL开发依赖包
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
7.启动msyql
安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
可使用如下命令启动MySQL:
service mysql start
或者使用如下命令:
/etc/init.d/mysql start
可使用SET PASSWORD命令修改root用户的密码,参考如下:SET PASSWORD = PASSWORD('root123456');
8.登录MySQL
使用mysql命令登录MySQL服务器,运行MySQL的命令时,会提示需要设置root用户密码。
9.设置开机自启动
/etc/init.d/mysql start
设置完成后重启系统,使用natstat –nat命令可看到MySQL的3306端口。
10.至此已经安装好了mysql数据库,当然现在我们的数据库还不支持远程连接,远程连接会出现以下代码:1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server,可以通过以下以下来解决。
11.改表法:在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。
mysql
mysqluse mysql;
mysqlselect 'host' from user where user='root
12.到此为止,mysql数据库在linux中安装完毕。
linux中mysql安装完mysql启动时报错是怎么回事?
1、原因:可能是/usr/local/mysql/mysql.pid文件没有写的权限;
解决方法 :给予权限,执行 “chmod 775 /usr/local/mysql/ -R” 然后重新启动mysqld。
2、原因:可能进程里已经存在mysql进程;
解决方法:用命令“ps
-ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld。
3、原因:可能是第二次在机器上安装mysql,有残余数据影响了服务的启动;
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。
4、原因:mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir);
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data。
5、原因:skip-federated字段问题;
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6、原因:错误日志目录不存在;
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限。
7、原因:如果是centos系统,默认会开启selinux;
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
8、原因:log-bin路径错误;
解决方法:查看对应数据库下的error
log,例如我的数据库为,/usr/local/mysql/var目录,其下的localhost.localdomain.err为错误日志,只要把其下的ib_logfile*删除即可,重启mysql即可。
一、Linux下MySQL的启动与停止
1、Mysql启动、停止、重启常用命令
a、启动方式
(1)使用 service 启动:
[root@localhost /]# service mysqld start (5.0版本是mysqld)
[root@szxdb etc]# service mysql start (5.5.7版本是mysql)
(2)使用 mysqld 脚本启动:
/etc/inint.d/mysqld start
(3)使用 safe_mysqld 启动:
safe_mysqld
b、停止方式
(1)使用 service 启动:
service mysqld stop
(2)使用 mysqld 脚本启动:
/etc/inint.d/mysqld stop
(3)mysqladmin shutdown
c、重启方式
(1)使用 service 启动:
service mysqld restart
service mysql restart (5.5.7版本命令)
(2)使用 mysqld 脚本启动:
/etc/init.d/mysqld restart
linux下怎么连接mysql数据库
1、 首先确保linux下mysql安装好,服务启动完之后,就可以开始连接数据库了。在终端输入“mysql -hlocalhost -uroot -p”,其中h参数是主机名,这里是本地就写localhost,也可以省略:
2、输入mysql的密码之后就登录了,也可以不输入密码登录,比如这里的root密码是mysql123456,可以直接输入“mysql -hlocalhost -uroot -pmysql123456”,此时就没有提示输入密码,直接进入mysql的命令行中了:
3、此时显示的就是mysql的命令行界面了,若要退出输入quit就可以退出了。以上就是linux中连接数据库的操作:
请问如何在linux下启动mysql
首先是启动服务。如果是redhat的话,可以使用setup或者ntsysv命令进入服务设置页面后,将mysqld那项选中,然后保存退出。如果不是redhat没有以上工具的话,可以使用chkconfig --level 35 mysqld on命令来开启服务。当然,这只是要求每次系统启动时启动服务,为了不用重启,需要使用/etc/init.d/mysqld start或者service mysqld start命令来使现在的服务启动,如果是重启服务的话,使用service ** restart。
我的mysql是装系统时安装的,你的应该是后来安装的,但是应该也是可以通过上述方式打开的。
在终端中输入mysql,看是否提示有这条命令,如果提示是command not found的话,应该是PATH变量的问题。解决的方法,可以将你安装mysql的路径也加入到PATH中,也可以将mysql中的需要执行的这些命令拷贝到PATH中。不过我mysql也是个菜鸟,真的不清楚有多少命令,所以建议把安装路径加入到PATH中,可以通过修改/etc/profile或者主目录下.bashrc文件来实现。一个是全局,一个只针对本账号。就是在文件中添加PATH=/usr/mysql:$PATH,位置无所谓,添进去应该就ok了。
然后输入mysql命令看看有反映没,如果没反应,就在查查,我也没这么弄过,但是我估计应该好使。
最后是添加mysql的密码了,默认时直接输入mysql就可以进入了,所以要进行修改。输入mysqladmin -u root password ***,就是给root添加密码了,如果是修改的话,格式为mysqladmin -u root -p 旧密码 password 新密码。还有,我真的是个菜鸟,加密码之前,其他账号也可以使用mysql命令直接进入,加了之后其他帐户可以使用mysql -uroot -p命令,然后输入密码进入(root也是以同样的方法进入),但是我不知道怎么添加别的帐户,比如说其他账户tom使用mysql -utom -p来进入,不好意思了。
对了,设定密码的时候,输入的是明文,而由于bash会保留命令,最好清除一下.bash_history,不然别人用一下history命令就可以知道你的密码是什么了。