SQLyog如何创建数据库,详细教程,SQLyog如何创建数据库,你知道怎么操作吗?下面将详细介绍......
MySQL服务器的编译安装与配置
MySQL 是一个关系型数据库管理系统,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。已经成为时下最流行的关系型数据库管理系统。下面就看看它是怎么编译安装和使用的吧!
工具/原料
- Linux服务器或虚拟机(实验用CentOS 6.5虚拟机环境)
- 最新版 Mysql5.6 的源码包(下载链接:http://pan.baidu.com/s/10Isgu 密码:jkg9)
- 由于较新版的Mysql使用 cmake 进行配置的,需要先安装 cmake :" yum install cmake "
- 由于编译安装很费时,可以选择直接使用我编译好的二进制软件包,但是并不保证所有平台通用(下载链接:http://pan.baidu.com/s/1jG892oY 密码:yq4w)
方法/步骤
首先我们先解压Mysql的安装包,建议解压到 /usr/local/src 目录中方便管理
# tar xf mysql-5.6.16.tar.gz
# cd mysql-5.6.16
然后我们执行以下指令对源码包进行预处理:
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
配置中指定了安装路径、数据库路径、配置文件路径等参数。等配置结束后可以使用 echo $? 查看返回值确定是否配置成功。我在编译时便遇到了一个名为ncurses-devel 的依赖包没有安装,具体信息请阅读错误提示。等我用yum源安装好后发现无法继续cmake了,只好删除后重新解压源码包才配置成功的。好了 一切没问题了就开始 make && make install 吧!
# make && make install
由于源码包比较大,解压后我统计了下,竟然291M,天啊这可得慢慢等待了。我花费了一个多小时才编译完成的,也是够慢了。
编译安装完成后会生成 /usr/local/mysql 这样一个文件夹,如果选用了直接解压二进制包,就把它解压到 /usr/local 中。我们进入这个文件夹中看看
bin 这个目录存放着mysql的服务器和客户机程序,我们应该添加到环境变量
data 这个文件夹就是数据库目录
include 这里存放着mysql开发用的函数头文件,可以被其他源码包编译时依赖
lib Mysql运行需要的运行库
scripts Mysql初始化数据库的脚本,更改数据库目录后也需要进行初始化
man Mysql是使用手册,需要让man命令识别这个路径才能使用
support-files 其中存放着Mysql的配置文件模板和服务控制脚本等文件
Mysql的配置文件为 /etc/my.cnf ,数据库目录为 /usr/local/mysql/data
接下来就开始部署这些文件,然后让Mysql启动起来吧!首先建立mysql用户和组,并不创建家目录,不允许登陆系统
# groupadd mysql
# useradd -M -s /sbin/nologin -g mysql mysql
设置mysql安装目录的属主和属组
# chown -R mysql:mysql /usr/local/mysql/
给数据库目录可读可写的权限
# chmod 777 -R /usr/local/mysql/data/
复制配置文件和服务控制脚本到相应位置
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
编辑配置文件 /etc/mysql.cnf,添加:
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
指定安装目录和数据库目录就可以了,其他参数先不用管。如图一所示
接下来就可以初始化数据库了
# cd /usr/local/mysql
#scripts/mysql_install_db --user=mysql
结果如图二所示就代表成功了,可以用 echo $? 查看返回值
现在就可以启动Mysql数据库服务了 它的启动命令是 mysqld
# service mysqld start
然后出现大写的 " SUCCESS "就代表启动成功了,然后用netstat看看它监听的端口吧!
#netstat -anpt | grep mysqld
我们发现它默认监听在 TCP 的"3306"端口
我们可以用它自带的 mysql 命令连接进去看看
用 -u 指定用户名 -h 指定主机 -p 来输入密码
# /usr/local/mysql/bin/mysql -u root -h localhost -p
这个root用户可不是系统登陆的root用户,而是mysql服务器中的一个默认用户。由于我们还没有给root用户设置密码,直接回车就可以进如了,如果出现一个" mysql > "就代表成功了。输入" exit "命令退出。
总使用绝对路径来执行mysql命令也不是办法,我们把它的环境变量配置下吧
#echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh
# source /etc/profile.d/mysql.sh
好啦,看看是不是能直接执行mysql命令了呢
接下来就分析一下my.cnf这个配置文件的各参数意义
basedir mysql的安装目录
datadir 数据库目录
port 指定服务端口,默认3306 端口
server_id pid文件路径
socket 套接字
skip-locking 可避免mysql的外部锁定,降低系统出错几率
skip-name-resolve 禁止mysql对外部连接进行DNS解析,可节约时间
key_buffer_size 设置索引缓存区大小,合理调节这个数值可以获得更好的索引处理性能,过度调大反而降低性能。参数没有可以自己添加
sort_buffer_size 设置排序缓存区的大小 (每个连接独占)
read_buffer_size 设置查询操作缓存区的大小 (每个连接独占)
join_buffer_size 设置联合查询操作缓存区的大小 (每个连接独占)
max_connections 设置服务器最大连接进程数
mysql的root用户没有密码是非常不安全的,接下来我们为它配置一个密码。注意 要给root用户添加密码是需要启动服务的,请确保你的Mysqld服务处于运行状态
#mysqladmin -u root password "himysql"
如果已经设置了密码,想去修改 就要在命令上添加 -p 参数,-p 参数是用来提醒输入密码的,就和mysql命令一样
#mysqladmin -u root password "himysql" -p
接下来输入旧密码就可以更改新密码了,再试一试,登陆mysql服务器是不是需要使用密码了呢?
如果是在本机登陆mysql服务器 -h 选项是可以省略的,如果使用root登陆,连-u 参数都可以省略,如果没有密码登录,连 -p 都是可以省略的,比如你第一次启动服务,直接mysql就可以连接上去了
这个mysqladmin是Mysql服务器的管理程序,可用于执行检察配置文件、检查服务状态、关闭服务器、创建数据库以及删除数据库等的系统管理操作。其格式如下:
mysqladmin 选项 参数 . . .
create db_name 创建一个名为db_name的新数据库
debug 将debug信息写入错误日志
drop db_name 删除一个名为db_name的数据库
extended-status 显示服务器状态变量和他们的值
flush-hosts 刷新缓存中的所有信息
flush-logs 刷新所有日志信息
flush-privileges 重新载入授权表
flush-status 清除状态变量
flush-tables 刷新所有的表
flush-threads 刷新线程的缓存
ping 显示服务器运行状态
processlist 正在运行服务器线程的列表
password new_password 更改密码
shutdown 关闭服务器
start-slave 在从服务器上启动同步
stop-slave 在从服务器上关闭同步
-u root 指定用户
-h localhost 指定连接的主机
-p 指定需要输入密码
其中一些概念不懂没关系,先眼熟就行了,在后面的学习中将会慢慢了解
当我们用mysql命令登陆到服务器后,出现的" mysql > "我们应该怎么操作呢?
在 mysql > 提示符下可以使用SQL语言或命令对数据库进行管理,每条SQL语句都以" ; " 结束,且不区分大小写。用户可以通过上下键调出曾经输入过的命令。
对数据库的操作不外乎增删查改,下面就看看一些很简单的命令吧!
show databases; 查看当前存在的数据库
use 数据库名称; 使用指定的数据库
show tables; 查看指定数据库有哪些表
create database 数据库名称; 创建新数据库
drop 数据库名称; 删除数据库
编译安装Mysql服务器到此也已经差不多了,除了编译时间长了些,按照步骤一步一步下来还是蛮简单的。如果想知道Mysql数据库的更多操作请看下一章:Mysql数据库的管理与备份恢复。一定要动手做一做哦!Enjoy Your Time !o(^▽^)o
注意事项
- 建议大家自己编译安装Mysql数据库,二进制包是我在CentOS6.5上,32位于64位各编译了一次
- 如果大家发现了上述有什么错误,记得向我反馈哦
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: MYSQL
相关文章
- 详细阅读
- 详细阅读
-
如何处理'mysql' 不是内部或外部命令的报错详细阅读
如何处理mysql 不是内部或外部命令的报错,今天安装myql-5.7.23,想要从命令行中连接myql,结果出现如图报错。下面来写下,这种报错的解决方式:......
2023-03-16 500 MYSQL