## 1.什么是 MySQL 数据库? MySQL 数据库是一个关系型数据库管理系统,是服务器领域中受欢迎的开源数据库系统,目前有 Oracle 公司主要负责运营与维护; ## 2.MySQL 数据库的特点 * 多线程、多用户; * 简单易用、查询速度快; * 安全可靠; * 基于 C/S 架构; ## 3.MySQL 数据库的编译安装 避免出现端口和程序冲突的现象,先查询 MySQL 软件的安装情况,确认没有使用以 RPM 方式安装的 mysql-server、mysql 软件包,否则将其卸载,并安装自带的 ncurses-devel 包; #rpm -q mysql-server mysql package mysql-server is not installed mysql-5.1.71-1.el6.x86_64 #rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm Preparing... ########################################### [100%] package ncurses-devel-5.7-3.20090208.el6.x86_64 is already installed 解压 cmake 包,编译并安装 cmake 包; #tar zxf cmake-2.8.6.tar.gz #cd cmake-2.8.6 #./configure #gmake && gmake install 创建运行用户,从而加强数据库服务的权限控制,使用新创建的运行用户,此运行用户不需要直接登录到系统,可以不创建宿主文件夹。 #groupadd mysql You have new mail in /var/spool/mail/root #useradd -M -s /sbin/nologin mysql -g mysql 将下载的 MySQL 源码包进行解压,释放到 /usr/src 目录下,并切换到源码目录。 #tar zxf mysql-5.5.22.tar.gz -C /usr/src #cd /usr/src/mysql-5.5.22/ 配置会用到多种字符集的网页,可为数据库系统支持不同的字符集编码,将默认使用的字符集设置为 utf8,并添加其他字符集的支持。 #cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all 上述配置命令中,各选项参数的含义: // -DCMAKE_INSTALL_PREFIX:指定将 mysql 数据库安装到某个目录下; // -DSYSCONFDIR:指定初始化参数文件目录; // -DDEFAULT_CHARSET:指定默认使用的字符集编码; // -DDEFAULT_COLLATION:指定默认使用的字符集校对规则; // -DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码; 编译并安装 #make && make install 对数据库目录进行权限设置 #chown -R mysql:mysql /usr/local/mysql You have new mail in /var/spool/mail/root MySQL 源码目录中的 support-files 文件夹下,提供了适合不同数据库的样本配置文件,在不确定数据库系统的应用规模下,选择 my-medium.cnf 文件,可满足企业的应用需求,并根据内容建立 MySQL 数据库系统的 /etc/my.cnf 配置文件。 #rm -rf /etc/my.cnf //如果原来 etc 文件夹下有 my.cnf 文件则可以删除 #cp support-files/my-medium.cnf /etc/my.cnf 初始化数据库,将运行用户 mysql 的身份执行初始化脚本 mysql_install_db,指定数据存放目录等; #/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ 验证数据库是否初始化成功; ![file](https://img2018.cnblogs.com/blog/1492191/201908/1492191-20190826123445436-2098006510.jpg) 为方便在任何目录下使用 MySQL 命令,需要在 /etc/profile 设置环境变量; #echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile You have new mail in /var/spool/mail/root #. /etc/profile // 立即生效 将 support-files 文件夹下的 mysql.server 脚本文件,将其复制到 /etc/rc.d/init.d 目录下并改名为:mysqld,设置执行权限,通过 chkconfig 命令添加为 mysqld 系统服务。 #cp support-files/mysql.server /etc/rc.d/init.d/mysqld #chmod +x /etc/rc.d/init.d/mysqld #chkconfig --add mysqld 若启动 mysqld 系统服务,可使用 service 工具或执行 /etc/init.d/mysqld 脚本来控制 MySQL 数据库服务,当 mysqld 系统服务启动后,可执行 netstat -anpt | grep mysqld 命令来进行验证 TCP 端口是否已经监听到了; #service mysqld start Starting MySQL.. [确定] #/etc/init.d/mysqld status MySQL running (59041) [确定] #netstat -anpt | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 59041/mysqld ## 4.访问 MySQL 数据库 访问 MySQL 数据库时,我们可以使用 Linux 系统中自带的客户端 mysql 命令工具。默认的管理员用户为:root,密码为空。 若要使用未设置密码的 root 用户登录 MySQL 数据库时,可直接执行 mysql -u root 命令即可登录; 若要使用设置了密码的 root 用户登录 MySQL 数据库时,可直接执行 mysql -u root -p 命令输入正确的密码即可登录; 登录成功后,会进入提示符为“mysql>”数据库的操作环境,可在该环境下输入各种 sql 语句对数据库进行管理,切记每条 sql 语句以分号“;”结束,且操作的 sql 语句可不区分大小写。 执行“show master logs”语句查看当前数据库服务的日志文件信息。 若要退出“mysql>”数据库的操作环境,可执行“exit”或“quit”命令可退出 mysql 命令行工具。 ![file](https://img2018.cnblogs.com/blog/1492191/201908/1492191-20190826123445662-42501107.jpg) ## 推荐阅读 1、[SQLServer、MySQL、Oracle三种数据库的优缺点总结](https://mp.weixin.qq.com/s/XevS8Dyi0iuVCz3_dagPdA) 2、[记住,永远不要在 Mysql 中使用 “utf8”](https://mp.weixin.qq.com/s/8vlyf8mIHEXPKRmzCivzRw) 3、[千行 MySQL 详细学习笔记,你收藏了吗?](https://mp.weixin.qq.com/s/wN-z2qAfCd1X5SJXz907SA) 4、[我必须得告诉大家的MySQL优化原理](https://mp.weixin.qq.com/s/xwwSsT2Lsa22HQJLiJ61JQ) 5、[Oracle SQL 性能优化40条,必看!](https://mp.weixin.qq.com/s/V7wR_zZD3aAYB0wxLa-cGg) 6、[Linux环境下Oracle数据库常用命令](https://mp.weixin.qq.com/s/6wZQ3GKQSDUvD7cohhUQnw) 7、[Oracle数据库环境搭建](https://mp.weixin.qq.com/s/PF-pRDylB-MDecD__sKBIA) 8、[Oracle客户端PLSQL的使用说明](https://mp.weixin.qq.com/s/BB_90h-tLUlf7keFbTvoTA) 9、[Linux下MySQL基本操作](https://mp.weixin.qq.com/s/NMF9PvXc8zlO3w8gZIardg) 10、[2019年最好用的6款数据库监控工具](https://mp.weixin.qq.com/s/gYsU2f-FIh92rRr2-MkLqA) ![file](https://img2018.cnblogs.com/blog/1492191/201908/1492191-20190826123445882-450230105.jpg) > 欢迎关注我的公众号:杰哥的IT之旅