龙空技术网

mysql数据库的安装步骤

广东IT优就业 298

前言:

当前小伙伴们对“myd导入mysql”大概比较讲究,看官们都需要学习一些“myd导入mysql”的相关内容。那么小编同时在网络上网罗了一些对于“myd导入mysql””的相关文章,希望看官们能喜欢,兄弟们快快来了解一下吧!

广东IT优就业

1、准备工作

卸载使用rpm包安装的mysql-server、mysql软件包

安装自带的ncurses-devel包

rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm

① 解压cmake包

tar zxf cmake-2.8.6.tar.gz

[root@localhost cmake-2.8.6]# cd cmake-2.8.6

② 安装cmake包

[root@localhost cmake-2.8.6]# ./configure && gmake && gmake install

2、源码编译及安装

①创建运行用户

[root@localhost cmake-2.8.6]# groupadd mysql

[root@localhost cmake-2.8.6]# 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并添加其他字符集支持

[root@localhost mysql-5.5.22]# 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:指定使用默认的字符集编码,如utf8

-DDEFAULT_COLLATION:指定默认使用的字符集编码校对规则,utf8_general_ci 是适用于UTF-8字符集编码的通用规则。

-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。

④编译并安装 make && make install

3、安装后的其他调整

①对数据库目录进行权限设置

[root@localhost mysql-5.5.22]# chown -R mysql:mysql /usr/local/mysql

②建立配置文件

在mysql源码目录中的support—file文件下,提供了适合不同负载数据库的样本配置文件。如果不确定数据库同学的应用规模,一般选择my-medium.cnf文件即可,该文件能够满足大多数启用的中单应用需求

根据以下参考内容建立mysql系统的/etc/my.cnf配置文件

[root@localhost mysql-5.5.22]# rm -rf /etc/my.cnf

[root@localhost mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf

③初始化数据库

为了能够正常使用mysql数据库系统,应以运行用户mysql身份执行初始化监本mysql_intall_db,指定数据库存放目录等。

[root@localhost mysql-5.5.22]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

④设置变量环境

为了方便在任何目录下使用mysql命令需要在/etc/profile设置环境变量

[root@localhost mysql-5.5.22]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

[root@localhost mysql-5.5.22]# ./etc/profile 或 source /etc/profile //立即生效

4、添加系统服务

若希望添加mysql系统服务,以通过chkconfig进行管理,可以直接使用源码包中提供的服务脚本。找到support-files文件下的mysql。server脚本文件,

将其复制到/etc/rc.d/init.d目录下,并改名为mysqld,然后再设置执行权限,通过chkconfig命令将其添加为mysqld系统服务。

[root@localhost mysql-5.5.22]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@localhost mysql-5.5.22]# chmod +x /etc/rc.d/init.d/mysqld

[root@localhost mysql-5.5.22]# chkconfig --add mysqld

[root@localhost mysql-5.5.22]# service mysqld start

查看mysql的运行状态: 端口号:3306

[root@localhost mysql-5.5.22]# netstat -anpt | grep mysqld

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 21921/mysqld

二、访问mysql数据库

1、登录到mysql服务器

经过安装后的初始化过程,mysql数据库的默认用户名为root密码为空,若以root登录数据库执行以下操作

mysql -u root -p

mysql>

2、执行mysql操作语句:show master logs; 可查看当前数据库访问的日志文件信息

3、退出mysq可执行quit或exit

广东IT优就业

三、MySQL的操作语句:

1、查看

①、查看当前服务器中有哪些库:

mysql> show databases;

②、查看当前使用的库中有哪些表:先使用use语句切换到所使用的库,再查看

mysql> use mysql;

Database changed

mysql> show tables;

MySQL数据库的数据文件存放在/usr/local/mysql/data目录下,每个数据库对应一个子目录用于存储数据表文件。一个数据表对应3个文件后缀名为 .frm 、.myd和 .myi

③、查看表结构:DESCRIBE语句用于显示表的结构需要指定 “库名.表名”

mysql> desc mysql.user; //查看mysql库的user表的结构

2、创建及删除库和表

①创建新的库

mysql> create database auth; //创建一个auth库

Query OK, 1 row affected (0.00 sec)

②创建新的表:需要指定表名作为参数,并定义该表所使用的各字段。

mysql> use auth;

mysql> create table users (user_name char(16) not null,user_passwd char(48) default '', primary key (user_name));

//在auth库中创建一个users表并插入字段user_name(不超过16字节且不为空),user_passwd(不超过48字节)默认为空,并把user_name设为主键

Query OK, 0 rows affected (0.02 sec)

mysql> show tables;

+----------------+

| Tables_in_auth |

+----------------+

| users |

+----------------+

1 row in set (0.00 sec)

③删除表和数据库

mysql> drop table auth.users; //删除auth库中的users表

mysql> drop database auth; //删除auth数据库

3、管理表中的数据记录

①插入数据记录:insert into

mysql> insert into users(user_name,user_passwd) values('lisi',password('1234')); //向auth库中users表插入一条记录,用户名为lisi,密码为1234

Query OK, 1 row affected (0.01 sec)

②查询数据记录:select

mysql> select * from users; //查询users表中所有(*)内容

+-----------+-------------------------------------------+

| user_name | user_passwd |

+-----------+-------------------------------------------+

| lisi | *A4B6157319038724E3560894F7F932C8886EBFCF |

+-----------+-------------------------------------------+

1 row in set (0.00 sec)

③修改数据记录 update

mysql> update auth.users set user_passwd=password('123.com')where user_name='lisi';

Query OK, 1 row affected (0.01 sec)

Rows matched: 1 Changed: 1 Warnings: 0

④修改密码:

用于访问mysql数据库的各种用户信息都保存在mydql库的user表中,可直接修改其中的数据记录

mysql> update mysql.user set password=password('1234') where user='root';

Query OK, 4 rows affected (0.00 sec)

Rows matched: 4 Changed: 4 Warnings: 0

也可以在linux命令行下使用mysqladmin工具设置密码,验证原密码后可直接将数据库用户密码设置为 '123.com'

mysql> mysqladmin -u root -p password '123.com'

Enter password:

⑤、删除数据记录:delete

mysql> delete from auth.users where user_name='lisi';

4、授权: grant

①授予权限:GRANT select ON auth.* TO 'xiaosan'@'localhost' IDENTIFIED BY '123456';

②查看权限:show grants 通过FOR子句可指定查看的用户对象

mysql> show grants for 'xiaosan'@'localhost';

+----------------------------------------------------------------------------------------------------------------+

| Grants for xiaosan@localhost |

+----------------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'xiaosan'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |

| GRANT SELECT ON `auth`.* TO 'xiaosan'@'localhost' |

+----------------------------------------------------------------------------------------------------------------+

2 rows in set (0.00 sec)

③撤销权限:revoke

revoke all ON auth.* FROM 'xiaosan'@'localhost';

四、数据库的备份与恢复

三种格式:(一)导出指定库中的部分表:

mysqldump 【选项】 库名 【表名1】【表名2】... > /备份路径/备份文件名

(二)导出一个或多个完整库(包括其中所有的表):

mysqldump 【选项】--databases 库名1 【库名2】 ... > /备份路径/备份文件名

(三)备份MySQL服务器中所有

mysqldump 【选项】--all-databases > /备份路径/备份文件名

1、备份数据库

(1)执行导出操作

①[root@localhost ~]# mysqldump -u root -p mysql user > mysql-user.sql ///将mysql库中的user表导出为mysql-user.sql文件

Enter password: ///输入root密码

②[root@localhost ~]# mysqldump -u root -p --databases auth > auth.sql ///将整个auth库导出为auth.sql文件

Enter password: ///输入root密码

③若需要备份整个mysql服务器中所有库应使用格式(三)当导出数据量较大时,可以添加"--opt"选项以优化执行速度

例如:mysqldump -u root -p --opt --all-databases > /all-data.sql ///将创建all-data.sql备份文件包含所有库

(2)查看备份内容

[root@localhost ~]# grep -v "^--" auth.sql | grep -v "^/" | grep -v "^$" 或使用 egrep -v "^--|^/|^$" auth.sql

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `auth` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `auth`;

DROP TABLE IF EXISTS `users`;

CREATE TABLE `users` (

`user_name` char(16) NOT NULL,

`user_passwd` char(48) DEFAULT '',

PRIMARY KEY (`user_name`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

LOCK TABLES `users` WRITE;

INSERT INTO `users` VALUES ('lisi','*AC241830FFDDC8943AB31CBD47D758E79F7953EA');

UNLOCK TABLES;

2、恢复数据库

① [root@localhost ~]# mysql -u root -p mysql < mysql-user.sql ///从备份文件mysql-user.sql中将user表导入mysql库中

Enter password:

② [root@localhost ~]# mysql -u root -p < auth.sql ///从备份文件auth.sql恢复auth库

Enter password:

广东IT优就业

希望广州IT培训老师上述分享的内容对大家有所帮助。

出处:

更多IT精彩推荐:

精英型全栈工程师:

标签: #myd导入mysql