mysql源码目录(mysql文件目录)
本文目录一览:
- 1、linux mysql 安装源码包时什么参数指定数据库目录位置,rpm 包 安装后如何更改数据库目录位置
- 2、linux mysql默认数据目录在哪
- 3、mysql默认安装在哪个目录
- 4、linux软件mysql的源代码在哪个文件夹找,其中核心的源代码在哪里找到?
- 5、Mysql 数据库文件存储在哪个目录
- 6、如何在Windows下编译或调试MySQL
linux mysql 安装源码包时什么参数指定数据库目录位置,rpm 包 安装后如何更改数据库目录位置
1、安装cmake
tar zxf cmake-2.8.7.tar.gz
pushd cmake-2.8.7
./bootstrap gmake gmake install
popd
2、创建所需user及group及dir
groupadd mysql
useradd -g mysql mysql
mkdir -p /usr/local/mysql
mkdir -p /var/lib/mysql
chown -R mysql.mysql /usr/local/mysql /var/lib/mysql
3、安装mysql
tar zxf mysql-5.5.20.tar.gz
pushd mysql-5.5.20
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_USER=mysql
make;make install
popd
4、制作配置文件
cat my.cnf EOF
[mysqld]
datadir=/var/lib/mysql
user=mysql
socket=/var/lib/mysql/mysql.sock
#Disablingsymbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#skip-networking
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
EOF
5、初始化数据库
cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/var/lib/mysql --user=mysql
6、定制启动脚本
cp mysql-5.5.20/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig mysqld on
/etc/init.d/mysqld start
7、修改管理员密码
./bin/mysqladmin -u root password 'password1'
8、rpm安装后更改mysql数据存放位置
vi /usr/local/mysql/my.cnf
修改
datadir=/var/lib/mysql
linux mysql默认数据目录在哪
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建议读《linux就该这么学》这本书
mysql默认安装在哪个目录
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。
下面就介绍一下这几个目录。
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
修改登录密码
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
3、测试是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: [email='root@localhost']'root@localhost'[/email] (Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
启动与停止
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start
2、停止
/usr/bin/mysqladmin -u root -p shutdown
3、自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]# /sbin/chkconfig –list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]# /sbin/chkconfig –- add mysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]# /sbin/chkconfig –- del mysql
更改MySQL目录
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd /home
mkdir data
2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值
为:/home/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/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存
放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。
为了在其它电脑上能用root用户登录,需进行以下动作:
1、[email=mark@marklinux]mark@marklinux[/email] markmysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysqlGRANT ALL PRIVILEGES ON *.* TO [email='root'@'%']'root'@'%'[/email] WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysqlFLUSH PRIVILEGES
//修改生效
4、mysqlEXIT
//退出MySQL服务器
linux软件mysql的源代码在哪个文件夹找,其中核心的源代码在哪里找到?
mysql的源代码在官网上下载才有....安装好的mysql是没有源码的....官网上下载下来的是一个tar.gz的压缩文件.....
Mysql 数据库文件存储在哪个目录
数据库文件默认存放位置:C:\Program Files\MySQL\MySQL Server 5.0\data\。
数据库的配置文件在C:\Program Files\MySQL\MySQL Server 5.0\my.ini。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
扩展质料:
与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。
由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
参考资料:mySQL-百度百科
如何在Windows下编译或调试MySQL
用vs code 就可以了。
Visual Studio Code
Visual Studio Code(简称VS Code)是由微软开发的,同时支持Windows、Linux和macOS操作系统的开源文本编辑器。它支持调试,内置了Git 版本控制功能,同时也具有开发环境功能,例如代码补全(类似于IntelliSense)、代码片段、代码重构等。该编辑器支持用户自定义配置,例如改变主题颜色、键盘快捷方式、编辑器属性和其他参数,还支持扩展程序并在编辑器中内置了扩展程序管理的功能。
安装LLDB
LLDB是LLVM编译器的一部分,推荐使用Homebrew安装LLVM工具集,不建议使用系统自带的LLDB,安装前必须先创建证书否则无法安装,步骤如下:
创建完成后,开始安装LLVM
brew install llvm --with-python@2 --with-lldb
安装插件
VS Code自带有debug功能,这里我推荐使用LLDB Debugger插件。
接下来,为项目配置调试参数。
配置调试参数
使用VS Code打开MySQL源码目录,在侧边栏选择debug栏目,添加配置,program输入需要调试的程序路径,这里选择你编译好的mysqld路径,args输入程序启动所需的参数,通常会指定mysqld的配置文件。这样就配置好了,是不是很简单。
启动调试
点击启动按钮,启动后如果没有设置断点会mysqld会正常启动,如果触发了断点会如下图显示。
整个调试窗口基本分为六部分,所有的调试操作都在这里完成:
1: 显示变量信息
2: 设置重点关注的变量
3: 显示调用栈信息
4: 设置断点信息,在代码行号前也可以设置断点
5: 代码显示区域,上方是调试按钮,包括 continue/stepover/step in/step out/restart/stop
6: 调试终端输入输出区
断点设置
在代码行号前点击即可在该行为设置断点,也可以根据条件设置断点。以设置ConditionalBreakpoint为例,当程序启动后会按照你设置的条件表达式判断是否触发断点。
Conditional Breakpoint这种方式用在目标变量达到某条件时触发断点,其余则跳过继续执行。比如:设置变量等于目标表名时触发断点,其余表则跳过,相对函数名断点省去很多手工跳过操作。
远程调试
假如你想调试远程Linux服务器上的MySQL上面的方法就不合适了,这时需要远程调试。lldb和gdb都支持远程调试,这里以lldb为例。
需要先在远程主机上安装lldb,使用yum安装,源地址在这里
remote$ yum install -y llvm-toolset-7
安装完成后,启动lldb-server
remote$ /opt/rh/llvm-toolset-7/root/usr/bin/lldb-serverplatform --listen "*:9191" --server
接下来,在VS Code调试界面中新增配置项。
{
"type": "lldb",
"request": "attach",
"name": "Remote attach",
"program": "~/mysql5626/usr/local/mysql/bin/mysqld",
"pid":"target_pid",
"initCommands": [
"platform select remote-linux",
"platform connect connect://remote_host:9191"
],
"sourceMap": {
"/export/home/pb2/build/sb_0-15908961-1436910670.17/mysql-5.6.26": "/Users/hongbin/workbench/mysql-server"
}
},
program: 本机也要拷贝一份目标程序,加载
pid: 填写远程主机的mysqld进程id
sourceMap: 填写mysqld编译的代码路径与本机代码库路径的映射,这样调试时代码才可以和程序关联在一起看
注意:记得调试前将代码切换到与目标程序版本一致的branch