在CentOS7平台下安装MySQL数据库管理系统工具有多种方法。您可以选择安装简单的二进制程序包,也可以选择安装源程序包。由于源代码安装方法的编译灵活性,使用源代码安装方法作为演示案例。源代码安装MySQL主要分为安装相关软件包、MySQL源代码软件包下载、安装环境配置、编译和安装。
需要注意的是,MySQL5.6使用cmake构建安装架构,如果用户坚持使用之前的configure安装方式,可以通过源码包中的BUILD脚本生成configure文件,从而实现传统的配置安装。
不管使用那种方式,安装部署MySQL数据库之前都需要安装相应的依赖包,这里使用yum提前安装好这些依赖包,随后同通过MySQL官网下载源码软件进行安装
[root@localhost ~]# yum -y install gcc make cmake ncurses-devel libxm12-devel
libtool-ltdl-devel gcc-c++ autoconf automake bison zlib-devel
[root@localhost ~]# wget
安装过程中需要为数据库进程创建用户及组账号,应为是服务进程账户,所以该类账户无需登录操作系统,设置Shell 为/sbin/nologing更加安全。当MySQL编译安装完成后,还需要为软件主目录设置正确的用户及组。
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -s /sbin/nologin -g mysql mysql
[root@localhost ~]# tar -xzf my -C /usr/src/
[root@localhost ~]# cd /usr/src
[root@localhost ~]# cmake . -DENABLE_DOWNLOADS=1
[root@localhost ~]# make && make install
[root@localhost ~]# chown -R my /usr/local/mysql
数据库软件安装完成后,问你需要使用mysql_install_db脚本初始化数据库,使用user定义数据库账户名称,使用basedir定义软件主目录,使用datedir定义数据库存放目录。初始化完成后,需要将mysql主配置文件my.cnf复制一份到 /etc/ 目录下。
[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db –user=mysql
–basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data
[root@localhost ~]# cp /usr/local/mysql /etc
通过以上步骤,我们已经完成了mysql数据库软件的安装,如果想尝试使用强大的mysql数据库管理系统,就需要使用mysqld_safe进程手动启动数据库服务进程或通过软件包所提供的启动脚本my来管理服务进程。
[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe –user=mysql &
[root@localhost ~]# cp /usr/local/mysql/support-files/my /erc
[root@localhost ~]# chkconfig –add mysqld
[root@localhost ~]# chkconfig mysql on
[root@localhost ~]# PATH=$PATH:/usr/local/mysql/bin/
[root@localhost ~]# echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profilt
至此MySQL数据库系统已经安装并初始化完成,我们可以通过mysqld启动脚本实现开机启动功能。但在UNIX环境下,使用mysql_install_db程序进行初始化数据库是,默认会创建一个用于测试用的空白数据库test,同时初始化程序还会在mysql数据库创建user表,该数据表为mysql数据库系统的账户及权限表,初始情况下,该表有如下一些问题。
l my表中的root为超级管理员账户,然而账户默认没有密码,因此可能导致非法用户在没有密码的情况下直接访问数据库。
l my中默认创建了匿名账号,这些账号同样没有设置密码。可通过如下命令查看mysql默认创建的user账号及密码数据。
[root@localhost ~]# mysql -u root -e “SELECT User,Host,Password FROM my”
为此mysql特别提供了一个perl脚本程序专门解决这些问题,运行该脚本的前提是在操作系统中已经安装perl程序,运行脚本后会提示输入root密码,首次运行直接按回车键既可,之后改程序会通过一系列的提示询问是否为root用户设置密码,是否移除匿名用户,是否禁止root远程登录,是否删除test数据库,是否立刻重新加载新的数据,建议所有提问都选择y,特别是在企业生产环境中这一步是必须的。
[root@localhost ~]# /usr/local/mysql/bin/mysql_secure_installation
至此MySQL所有所有初始化操作完成。
MySQL管理工具
mysql是基于客户端/服务器体系架构的数据库系统,mysql服务器端以守护进程的方式运行,mysql为服务器主进程。当我们需要对服务器进行任何操作时,都需要使用客户端软件来连接服务器进行操作。mysql客户端程序很多,可以使用自带软件mysql、mysqladmin、mysqldump等命令对数据库进行数据操作,也可以自己设计动态网站通过API连接mysql数据库进行相同的数据库操作。另外,在mysql官方网站可以下载到mysql WorkBench工具,该工具时一个图形化mysql数据库客户端管理程序,本杰重点将介绍mysql软件包集成的客户端软件。
1. MySQL工具
mysql是一个简单的命令行SQL工具,该工具支持交互式和非交互式运行,使用mysql命令非常容易,只需要在系统命令终端输入mysql即可进入管理页面
[root@localhost ~]# mysql
如果使用mysqladmin或mysql_secure_installation程序为账号设置了密码,则需要在启动mysql程序时指定账号名和密码,进入交互式界面后,即可通过输入SQL语句对数据库进行操作,SQL语句之后要以 ; 或者 g 结尾。退出程序时可通过exit退出。
[root@localhost ~]# mysql –user=user_name –password=your_password 数据库名称
l 通过提前创建SQL语句脚本文件,我们可以使用mysql工具自定执行数据操作,方法如下
[root@localhost ~]# cat
show tables;
select * from myG
[root@localhost ~]# mysql db_name < > out.tab
其中, 是SQL脚本文件,out.tabl 为重定向输出文件
l MySQL命令支持大量的选项,一下是MySQL常用选项及描述。
–help,-? 显示帮助信息
–auto-rehash tab自动补齐,默认为开启状态
–auto-vertical-output 自动垂直显示,如果显示太宽,将以列的格式显示
–batch,-B 不使用历史文件
–bind-address=ip_address 使用特定的网络接口连接MySQL服务器
–database=dbname,-D dbname 指定使用的数据库名称
–defaule-character-set=charset_name 设置默认字符集
–delimiter=str 设置语句分隔符
–host=host_name,-h host_name 通过host连接指定服务器
–password,-p 使用密码连接MySQL服务器
–pager=[command] 使用分页程序分页显示
–port=port_num 使用指定端口号连接服务器
–quick 不缓存查询结果
–unfuffered 每次查询后刷新缓存
–user=user_name,-u user_name 使用指定账户连接服务器
l 案例如下
使用root账号连接服务器,无密码登录
[root@localhost ~]# mysql -u root
使用root账号连接服务器,默认进入mysql数据库;
[root@localhost ~]# mysql -u root mysql
使用root账号连接服务器,使用密码123456登录
[root@localhost ~]# mysql -uroot -p123456
使用root账号连接服务器192.168.0.10服务器,使用密码123456
[root@localhost ~]# mysql -uroot -p123456 -h 192.168.0.10
l 使用mysqladmin工具
mysqladmin是一个执行管理的工具,使用它可以检查服务器的配置、运行状态、以及创建和删除数据库等操作。
语法格式如下:
mysqladmin [选项] 命令参数 [命令 [命令参数]]
mysqladmin支持一下命令
create db_test 创建名为db_test的数据库
debug 将debug信息写入错误日志
drop db_test 删除名为drop db_test的数据库以及数据库中的所有的数据表
extended-status 显示服务器状态变量以及变量的值
flush-host 刷新所有主机的缓存信息
flush-logs 刷新所有的日志
flush-privileges 重新加载权限数据表
flush-status 清空状态变量
flush-tables 刷新所有数据表
kill id,id,.. 杀死服务器线程
password new-123456 设置新密码
ping 对服务器进行检查是否可用
reload 重新加载权限数据表
refresh 刷新所有数据表并重启日志文件
shutdown 关闭服务器
下一篇文章分享mysqldump工具和数据库定义语言及数据库操作语言等
1.文章《web项目中如何建立mysql数据库》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《web项目中如何建立mysql数据库》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好