❶ linux mysql 怎么修改mysqld.pidlujing
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。1.安装方法有两种,一种是yum安装,另外一种是源码安装
rpm安装命令如下
yum install mysql-server -y
2.查看相关路径的方法如下
[root@rhel5 ~]# find / -name mysql -print
/etc/rc.d/init.d/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/var/lock/subsys/mysql
/usr/lib/mysql
/usr/include/mysql
/usr/share/mysql
/usr/bin/mysql
而 data默认放在:/var/lib/mysql
2.一般来说只要修改数据的存放路径就可以,修改方法如下
原路径:/var/lib/mysql
目标路径:/home/data/mysql
(1)home目录下建立data目录
cd /home
mkdir data
(2)停止mysql进程
service mysqld stop
(3)把/var/lib/mysql整个目录保持权限复制到/home/data
cp -arp /var/lib/mysql/home/data/
(4)找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/找到my-medium*.cnf文件,拷贝到/etc/并改名为my.cnf
命令如下:
[root@test1 mysql]# cp
/usr/share/mysql/my-medium.cnf/etc/my.cnf
(5)编辑/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改
socket=/var/lib/mysql/mysql.sock 为:
socket=/home/data/mysql/mysql.sock
操作如下:
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server[mysqld]
port= 3306
#socket =
/var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock(加上此行)
(6)修改MySQL启动脚本/etc/init.d/mysql
搜索datadir将/var/lib/mysql修改成现在的实际存放路径:home/data/mysql
[root@test1 etc]# vi/etc/init.d/mysql
get_mysql_option mysqld datadir "/data/mysql"
最后做一个mysql.sock 链接:
ln -s /home/data/mysql/mysql.sock
/var/lib/mysql/mysql.sock(需要从/home/data/mysql下复制一份过来)
(7)重新启动MySQL服务
service mysqld restart
最后创建数据库,查看目标目录下是否已经存在
❷ linux怎么修改mysql数据库临时表空间大小
先来说说临时表的概念。 临时表顾名思义,就是临时的,用完销毁掉的表。 数据既可以保存在临时的文件系统上,也可以保存在固定的磁盘文件系统上。 临时表有下面几种:
1全局临时表
这种临时表从数据库实例启动后开始生效,在数据库实例销毁后失效。在MySQL里面这种临时表对应的是内存表,即memory引擎。
2会话级别临时表
这种临时表在用户登录系统成功后生效,在用户退出时失效。在MySQL里的临时表指的就是以 create temporary table 这样的关键词创建的表。
3事务级别临时表
这种临时表在事务开始时生效,事务提交或者回滚后失效。 在MySQL里面没有这种临时表,必须利用会话级别的临时表间接实现。
4检索级别临时表
这种临时表在SQL语句执行之间产生,执行完毕后失效。 在MySQL里面这种临时表不是很固定,跟随MySQL默认存储引擎来变化。比如默认存储引擎是MyISAM,临时表的引擎就是MyISAM,并且文件生成形式以及数据运作形式和MyISAM一样,只是数据保存在内存里;如果默认引擎是INNODB,那么临时表的引擎就是INNODB,此时它的所有信息都保存在共享表空间ibdata里面。
MySQL 5.7对于InnoDB存储引擎的临时表空间做了优化。在MySQL 5.7之前,INNODB引擎的临时表都保存在ibdata里面,而ibdata的贪婪式磁盘占用导致临时表的创建与删除对其他正常表产生非常大的性能影响。在MySQL5.7中,对于临时表做了下面两个重要方面的优化:
MySQL5.7 把临时表的数据以及回滚信息(仅限于未压缩表)从共享表空间里面剥离出来,形成自己单独的表空间,参数为innodb_temp_data_file_path。
在MySQL5.7 中把临时表的相关检索信息保存在系统信息表中:information_schema.innodb_temp_table_info.而MySQL 5.7之前的版本想要查看临时表的系统信息是没有太好的办法。
需要注意的一点就是,虽然INNODB临时表有自己的表空间,但是目前还不能自己定义临时表空间文件的保存路径,只能是继承innodb_data_home_dir。此时如果想要拿其他的磁盘,比如内存盘来充当临时表空间的保存地址,只能用老办法,做软链。举个小例子:
我现在用的OS是 Ubuntu12.X,想用tmpfs文件系统充当临时表空间,
root@ytt-master-VirtualBox:/usr/local/mysql/data#ln -s/run/shm/ /usr/local/mysql/data/tmp_space2
root@ytt-master-VirtualBox:/usr/local/mysql/data#ls -l | grep 'shm'
lrwxrwxrwx1 root root 9 Nov 13 10:28tmp_space2 -> /run/shm/
然后把
innodb_temp_data_file_path=tmp_space2/ibtmp2:200M:autoextend
添加到my.cnf里的[mysqld]下面一行
重启MySQL服务后,
mysql>select @@innodb_temp_data_file_pathG
***************************1. row ***************************
@@innodb_temp_data_file_path:tmp_space2/ibtmp2:200M:autoextend
1 rowin set (0.00 sec)
先写一个批量创建临时表的存储过程:
DELIMITER$$
USE`t_girl`$$
DROPPROCEDURE IF EXISTS `sp_create_temporary_table`$$
CREATEDEFINER=`root`@`localhost` PROCEDURE `sp_create_temporary_table`(
IN f_cnt INT UNSIGNED )
BEGIN
DECLARE i INT UNSIGNED DEFAULT 1;
WHILE i <= f_cnt
DO
SET @stmt = CONCAT('create temporarytable tmp',i,' ( id int, tmp_desc varchar(60));');
PREPARE s1 FROM @stmt;
EXECUTE s1;
SET i = i + 1;
END WHILE;
DROP PREPARE s1;
END$$
DELIMITER;
现在来创建10张临时表:
mysql>call sp_create_temporary_table(10);
QueryOK, 0 rows affected (0.07 sec)
如果在以前,我们只知道创建了10张临时表,但是只能凭记忆或者手工记录下来临时表的名字等信息。
现在可以直接从数据字典里面检索相关数据。
mysql>select * frominformation_schema.innodb_temp_table_info;
+----------+--------------+--------+-------+----------------------+---------------+
|TABLE_ID | NAME | N_COLS | SPACE| PER_TABLE_TABLESPACE | IS_COMPRESSED |
+----------+--------------+--------+-------+----------------------+---------------+
| 56 | #sql1705_2_9 | 5 | 36 | FALSE | FALSE |
| 55 | #sql1705_2_8 | 5 | 36 | FALSE |FALSE |
| 54 | #sql1705_2_7 | 5 | 36 | FALSE | FALSE |
| 53 | #sql1705_2_6 | 5 | 36 | FALSE | FALSE |
| 52 | #sql1705_2_5 | 5 | 36 | FALSE |FALSE |
| 51 | #sql1705_2_4 | 5 | 36 | FALSE | FALSE |
| 50 | #sql1705_2_3 | 5 | 36 | FALSE | FALSE |
| 49 | #sql1705_2_2 | 5 | 36 | FALSE |FALSE |
| 48 | #sql1705_2_1 | 5 | 36 | FALSE | FALSE |
| 47 | #sql1705_2_0 | 5 | 36 | FALSE | FALSE |
+----------+--------------+--------+-------+----------------------+---------------+
10rows in set (0.00 sec)
功能性我就写到这里,大家性能方面如果有兴趣可以找时间去测试。
❸ linux服务器mysql数据库怎么配置
linux服务器mysql数据库配置
mysql最流行的关系型数据库之一,目前隶属于oracle公司,因体积小、速度快、总体拥有成本低,开放源代码这一特点,所以是我们日常开发的首选。
工具/原料
mysql5.6
cnetos
方法/步骤
查找以前是否安装有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果显示有如下包则说明已安装mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库
删除命令: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
下载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服务器中,如图所示
安装MySQL Server的rpm包
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装过程如图所示
安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看。
安装MySQL客户端
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装MySQL开发依赖包
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
启动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');
❹ linux mysql创建数据库需要修改什么配置文件
不用
mysql -uroot -p -e "create databases datatest;"
或者站点目录放phpmyadmin登录root账号进行创建数据库 添加账号等
❺ 如何在linux下安装mysql数据库并配置
1)首先检查系统中是否已经安装了MySQL在终端里面输入 sudo netstat -tap | grep mysql若没有反映,没有显示已安装结果,则没有安装。若如下显示,则表示已经安装Linux下MySQL的安装与配置 三联2)如果没有安装,则安装MySQL.在终端输入 sudo apt-get install mysql-server mysql-client在此安装过程中会让你输入root用户(管理MySQL数据库用户,非Linux系统用户)密码,按照要求输入即可。如下所示:3)测试安装是否成功:在终端输入 sudo netstat -tap | grep mysql4)也可通过登录MySQL测试在终端输入 mysql -uroot -p 接下来会提示你输入密码,输入正确密码,即可进入。5)MySQL的一些简单管理:启动MySQL服务: sudo start mysql停止MySQL服务: sudo stop mysql修改 MySQL 的管理员密码: sudo mysqladmin -u root password newpassword设置远程访问(正常情况下,mysql占用的3306端口只是在IP 127.0.0.1上监听,拒绝了其他IP的访问(通过netstat可以查看到)。取消本地监听需要修改 my.cnf 文件:):sudo vi /etc/mysql/my.cnfbind-address = 127.0.0.1 //找到此内容并且注释6)MySQL安装后的目录结构分析(此结构只针对于使用apt-get install 在线安装情况):数据库存放目录: /var/lib/mysql/相关配置文件存放目录: /usr/share/mysql相关命令存放目录: /usr/bin(mysqladmin mysqlmp等命令)启动脚步存放目录: /etc/rc.d/init.d/7)MySQL图形化管理软件一般使用的有两个比较好,一个开源,一个商业收费:开源:MySQL Workbench (具体使用介绍随着我的使用,我会慢慢总结)商业:Navicat (收费的,有30天体验,之后我相信大家会有办法的)如何在linux下安装mysql数据库并配置
❻ 如何远程修改mysql配置文件
首先我们在linux系统上安装mysql,本文默认linux系统可以联网或者已经挂载光盘iso了,我们使用命令 apt-get install mysql-server 命令进行安装,安装完成后,查看mysql是否启动,执行命令 ps -e |grep mysql。
验证初始是否允许远程连接,由于本次虚拟机IP为192.168.2.120,因此我们执行mysql -h 192.168.20.120 -P 3306 -u root -proot(备注:-proot,root指root账号的密码),可以得到结果连接不上。
假如我们不采用远程连接,可以连接上,命令为:mysql -u root -proot。
接下来,我们连接上数据库,执行命令use mysql;使用mysql数据库。
并查看用户表信息,执行命令为:select Host,User from user。
执行结果如下图所示。
通过上面步骤可以得到数据表 user内的值,下面我们对表进行更新记录允许远程访问,
执行命令为:update user set Host='%' where User ='root' limit 1;
(该条命令意思为更新user表内User值为root的第一条记录的Host值设置为%)更新完成后,执行上一步查询命令进行验证
执行强制刷新命令flush privileges;
执行完毕后,关闭数据库连接。
更改mysql安装目录下的my.cnf文件。
一般默认路径在/etc/mysql/下,找到bind-address = 127.0.0.1 这一行,可以对其进行删除,注释或者将127.0.0.1更改为0.0.0.0,修改完毕后保存。
重启mysql,命令为service mysql restart。进行远程登陆测试,可以看到已经允许远程连接了。
❼ linux怎么修改mysqld和nginx配置
你要设定一下访问后端服务器的方式,是轮询还是ip hash等,设置了才可以切换 server 110.41.90.143 weight=5 max_fails=3 fail_timeout=10s; server 110.41.90.138 weight=5 max_fails=3 fail_timeout=10s; 类似我写的这样,明白了吧
❽ linux 怎么更改mysql数据库储存
mnt目录下建立mysql_data目录
#cd /mnt
#mkdir mysql_data
把MySQL服务服务停掉。
#service mysql stop
把/var/lib/mysql整个目录移到/mnt/mysql_data。
#mv /usr/local/mysql/data/mnt/mysql_data
重新设置数据权限。
#cd /mnt/mysql_data
修改my.cnf配置文件
#vi /etc/my.cnf
指明mysql.sock文件的产生位置。用符号#注释掉原来socket,
修改MySQL启动脚本。
#vi /etc/init.d/mysql
找到datadir。
datadir = /mnt/mysql_data
7
重启mysql服务
#service mysql start
好了,至此数据库目录位置已迁移完毕。
❾ linux换进怎么配置mysql主从服务器
展开全部
linux下配置mysql主从同步的步骤
一、主机环境
主机:
master操作系统:rhel6.0
IP:172.16.0.100
MySQL版本:5.1.47
从机:
www.2cto.com
slave操作系统:rhel6.0
IP:172.16.0.200
MySQL版本:5.1.47
二、创建数据库
分别登录master机和slave机的mysql:mysql
–u
root
–p
创建数据库:create
database
repl;
三、master机和slave机的相关配置
1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下
在[mysqld]配置段添加如下字段
server-id=1
log-bin=mysql-bin
binlog-do-db=repl
//需要同步的数据库,如果没有本行,即表示同步所有的数据库
binlog-ignore-db=mysql
//被忽略的数据库
在master机上为slave机添加一同步帐号
grant
replication
slave
on
*.*
to
'replication'@'172.16.0.200'
identified
by
'123456';
重启master机的mysql服务:service
mysqld
restart
用show
master
status
命令看日志情况