扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
系统运维
一、MySQL服务基础一、mysql服务基础
成都创新互联公司服务项目包括翠屏网站建设、翠屏网站制作、翠屏网页制作以及翠屏网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,翠屏网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到翠屏省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
二、Mysql的编译安装
三、访问MYSQL数据库
四、使用MySQL数据库
MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。
MySQL项目在08年以前是由MySQL AB公司进行开发、发布和支持,之后历经Sun公司收购MySQL AB公司,Oracle公司收购Sun公司的过程,目前MySQL项目由Oracle公司负责运营和维护。
二、MySQL的编译安装为了确保MySQL数据库功能的完整性、可定制性,我采用了源代码编译安装的方式安装MySQL数据库系统,MySQL5.X系列版本的使用最为广泛,该版本的稳定性、兼容性都不错,下载源码包的官方站点为 https://www.mysql.com 。
1、准备工作下载安装所需软件包:https://pan.baidu.com/s/1vMP72gT6oELBb5eKNTbhNw
提取码:gxtf
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# groupadd mysql
[root@centos01 ~]# useradd -M -s /sbin/nologin mysql -g mysql
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos01 ~]# yum -y install ncurses-devel
2、安装cmake包
[root@centos01 ~]# umount /mnt/
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# cd /usr/src/cmake-2.8.6/
[root@centos01 cmake-2.8.6]# ./configure
[root@centos01 cmake-2.8.6]# gmake && gmake install
3、源码编译及安装
[root@centos01 ~]# tar zxvf /mnt/mysql-5.5.22.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/
[root@centos01 mysql-5.5.22]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all
-DSYSCONFDIR=/etc
[root@centos01 mysql-5.5.22]# make && make install
4、安装后其他调整上述配置命令中,各选项的含义如下:
-DCMAKE_INSTALL_PREFIX:指定MyQSL数据库程序安装到某目录下,如目录/usr/local/mysql。 -DSYSCONFDIR:指定初始化参数文件目录。 -DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf-8。 -DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci是适用于utf-8字符集的通用规则。 -DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。
[root@centos01 ~]# chown -R mysql:mysql /usr/local/mysql/
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/
[root@centos01 mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆盖/etc/my.cnf? y
[root@centos01 ~]# vim /etc/profile
# /etc/profile
PATH=$PATH:/usr/local/mysql/bin/
[root@centos01 ~]# source /etc/profile
[root@centos01 mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos01 mysql-5.5.22]# chmod +x /etc/init.d/mysqld
[root@centos01 ~]# chkconfig --add mysqld
[root@centos01 ~]# chkconfig --level 35 mysqld on
[root@centos01 ~]#/usr/local/mysql/scripts/mysql_install_db
--user=mysql --basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
5、启动MySQL服务
[root@centos01 ~]# systemctl enable mysqld
[root@centos01 ~]# systemctl start mysqld
[root@centos01 ~]# netstat -anptu | grep 3306
三、访问MySQL数据库MySQL数据库系统是一个典型的C/S(客户端/服务器)架构的应用。要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。
1、登录到MySQL服务器经过安装后的初始化过程,MySQL数据库的默认管理员用户名为root,密码为空。
登录成功后将会进入提示符为“mysql>”的数据库操作环境,用户可以输入各种操作语句对数据库进行管理。每条MySQL操作语句以分号“;”表示结束,输入时可以不区分大小写。
[root@centos01 ~]# mysql -u root -p
New password:
mysql> exit
[root@centos01 ~]# mysqladmin -u root password
New password:
Confirm new password:
[root@centos01 ~]# mysql -u root -p
Enter password:
mysql> quit
四、使用MySQL数据库
mysql> show databases;
mysql> use myqsl;
mysql> show tables;
mysql> describe user;
mysql> create database bdqn;
mysql> drop database bdqn;
mysql> create table stuinfo(姓名 char(16),性别 char(10),年龄 char(10),联系电话 char(11),Email地址 char(20));
mysql> drop table stuinfo;
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Email地址) value (\'李焱鑫\',’男’,’20’,\'18232013151\',’2807489749@qq.com’);
!--stuinfo表插入数据-->
mysql> insert into stuinfo value (\'吴大狼\',\'男\',\'19\',\'11111111111\',\'11111111@qq.com\');
mysql> insert into stuinfo value (\'张航\',\'男\',\'15\',\'22222222222\',\'22222222@qq.com\');
mysql> insert into stuinfo value (\'曾宪猴\',\'男\',\'8\',\'33333333333\',\'33333333@qq.com\');
mysql> select * from stuinfo;
+-----------+--------+--------+--------------+-------------------+
| 姓名 | 性别 | 年龄 | 联系电话 | Email地址 |
+-----------+--------+--------+--------------+-------------------+
| 李焱鑫 | 男 | 20 | 18232013151 | 2807489749@qq.com |
| 吴大狼 | 男 | 19 | 11111111111 | 11111111@qq.com |
| 张航 | 男 | 15 | 22222222222 | 22222222@qq.com |
| 曾宪猴 | 男 | 8 | 33333333333 | 33333333@qq.com |
+-----------+--------+--------+--------------+-------------------+
mysql> select * from stuinfo where 姓名=\'李焱鑫\';
+-----------+--------+--------+--------------+-------------------+
| 姓名 | 性别 | 年龄 | 联系电话 | Email地址 |
+-----------+--------+--------+--------------+-------------------+
| 李焱鑫 | 男 | 20 | 18232013151 | 2807489749@qq.com |
+-----------+--------+--------+--------------+-------------------+
mysql> update stuinfo set 姓名=\'LiYanXin\' where 姓名=\'李焱鑫\';
mysql> delete from stuinfo where 姓名=\'LiYanXin\';
五、数据库用户授权MySQL数据库的root用户账号拥有对所有库、表的全部权限,频繁使用root账号会给数据库服务器带来一定的安全风险。通常在实际工作中会建立一些低权限的用户,只负责一部分库、表的管理和维护操作,甚至可以对查询、修改、删除记录等各种操作做进一步的细化限制,从而将数据库的风险降至低。
1、授予权限GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户,否则,GRANT语句用于修改用户信息。
语句格式如下:
GRANT 权限列表 ON 库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY \'密码\' ]使用GRANT语句时,需要注意的事项如下:
权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,Select 允许查询;Insert 插入数据;Update 更新数据;Delete 删除数据;All 给所有权限,增加删改查;使用“all”表示所有权限,可授权执行任何操作。 库名.表名:用于指定授权操作的库和表的名称,其中可以使用通配符“”。“auth.”表示授权操作的对象为auth库中的所有表。 用户名@来源地址:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址。 IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分,则用户的密码将为空。
mysql> grant all on bdqn.* to \'rundb\'@\'localhost\' identified by \'pwd@123\';
mysql> show grants for \'rundb\'@\'localhost\';
mysql> revoke all on bdqn.stuinfo from \'rundb\'@\'localhost\';
—————— 本文至此结束,感谢阅读 ——————
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流