如何在Linux下使用MySQL?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Linux下使用MySQL?相关的知识,希望对你有一定的参考价值。

我用的是OpenSUSE11,已经安装了mysql,不过我以前没有用过,可否请那位指点一下如何启动和运行,最好举一个简单的例子,步骤尽量详细一些。多谢。
我现在输入mysql已经可以进入它的操作界面了,如何建立一个数据库呢?麻烦举个例子。
请问mysql是不是会生成一个数据库文件,而其他程序,如C++或Java可以利用这个数据库文件?
本人是完全菜鸟,所以大家不要假设太多,尽可能简单易懂。

一、启动mysql服务
(1) rpm方式安装的mysql
-设置自动启动
#ntsysv --level 3
-手工启动
#service mysqld start
(2) 编译安装的mysql
-设置自动启动
#vi /etc/rc.d/rc.local
.......
/usr/local/mysql/bin/mysqld_safe&
........
-手工启动
#/usr/local/mysql/bin/mysqld_safe&
查看文章
mysql服务器(一)2009-06-15 11:18mysql服务器
一. 认识和安装mysql
1. 认识mysql
(1) mysql是一种网络数据库服务器产品
(2) mysql是开源的免费的
(3) mysql是关系型数据库管理系统,支持SQL.
(4) mysql无溢出漏洞
(5) mysql提供丰富的API
(6) mysql提供丰富的数据类型
(7) mysql具较强的移值性
2. 安装mysql软件
(1) rpm安装方式
#rpm -ivh perl-CGI....
perl-DBI....
perl-DBD-MySQL.....
mysq-....
mysql-server....
mysql-devel.....
(2) 编译安装方式
#groupadd mysql
#useradd -g mysql mysql
#tar -xzvf mysql-4.1.19.tar.gz
#cd mysql-4.1.19
#./configure --prefix=/usr/local/mysql
#make
#make install
#cp support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql
#bin/mysql_install_db --user=mysql
#chown -R root .
#chown -R mysql var
#chgrp -R mysql .
3. 启动mysql服务
(1) rpm方式安装的mysql
-设置自动启动
#ntsysv --level 3
-手工启动
#service mysqld start
(2) 编译安装的mysql
-设置自动启动
#vi /etc/rc.d/rc.local
.......
/usr/local/mysql/bin/mysqld_safe&
........
-手工启动
#/usr/local/mysql/bin/mysqld_safe&
二、mysql的管理
1. 如何连接mysql服务器
(1) Linux客户机
#mysql [-h服务器地址] [-u用户名] [-p口令] [数据库名]
实例:
#mysql
mysql>
#mysql -h192.168.3.1 -uadmin -plinux
mysql>
(2) Windows客户机
-利用第三方mysql客户端软件
-利用浏览器连接(服务器必须安装web管理平台,如:phpmyadmin/webmin)
注:webmin的安装方法
#tar -xzvf webmin-1.25.tar.gz
#cd webmin-1.25
#./setup.sh
2. 数据库管理
(1) 认识mysql的数据库
-mysql服务器默认建立两个数据库,分别是mysql和test;其中mysql是系统数据库;test是学习数据库
-mysql服务器上的每个数据库都会在相应路径中建立与库同名的目录
-每个数据库可包含若干张表,每张表由*.frm、*.MYD和*.MYI文件构成
(2) 创建数据库
#mysql
mysql>create database 数据库名;
实例:
mysql>create database dbinfo;
(3) 查看服务器上已创建的数据库
#mysql
mysql>show databases;
(4) 打开数据库
#mysql
mysql>use 数据库名;
实例:
mysql>use db1;
(5) 删除数据库
#mysql
mysql>drop database 数据库名;
实例:
mysql>drop database dbinfo;
3. 数据表的管理
(1) mysql提供的数据类型
-数字型
TINYINT 1字节
SMALLINT 2字节
MEDIUMINT 3B
INT 4B
BIGINT 8B
FLOAT[(M,D)] 4B
DOUBEL[(M,D)] 8B
DECIMAL(M,D)
-字符串型
char(M)
varchar(M)
tinytext
text
mediumtext
longtext
enum('..',...)
set(....)
-日期时间型
date
datetime
time
(2) 创建表
#mysql
mysql>use 数据库;
mysql>create table 表名 (
列名 数据类型 属性/约束;
.......
.....
) 表选项;
列属性/约束:
null/not null 是否允许为null
default 值 定义列的默认值
primary key 定义主键
check 表达式 定义列的取值范围
REFERENCES 表名(列名) 定义外部键
表选项:
TYPE=HEAP/ISAM/MYISAM/INNOBDB/BDB/MERGE //定义数据表引擎类型
实例:
mysql>use db1
mysql>create table users (
->id varchar(10) primary key,
->name varchar(20) not null,
->password varchar(30) not null) TYPE=MYISAM;
(3) 查看数据库中已建立的表
#mysql
mysql>use 数据库;
mysql>show tables;
(4) 查看表的结构
#mysql
mysql>use 数据库;
mysql>describe 表名;
(5) 修改表的结构
#mysql
mysql>use 数据库;
mysql>alter table 表名
add 列定义 //添加列
|drop 列名 //删除列
|add index 索引名 (列名) //添加索引
|drop index 索引名 //删除索引
|modify 列定义 //修改列的定义
|add primary key (列名) //添加主键
|drop primary key //删除主键
|rename 新表名 //修改表名称
实例:mysql>alter table users add memo text;
(6) 向表中插入数据
#mysql
mysql>insert into 表名[(列名,...n)] values (值,...)
实例:
mysql>insert into users values ('0001','user1','linux','system admin');
(7) 查看表中数据
#mysql
mysql>select 列名 [as 别名] [,...n]|*|表达式
->from 表名[,...n]
->[where 条件表达式]
->[order by 列名]
->[group by 列名]
->[having 条件表达式]
实例:
mysql>select * from users;
mysql>select user,password from users;
mysql>select user,password from users where name='user1';
mysql>select * from users order by id desc;
mysql>select 性别, count(*) as 人数 from 学生 group by 性别;
(8) 删除表中数据
#mysql
mysql>delete from 表名 [where 条件表达式];
实例:
mysql>delete from users;
mysql>delete from users where name='user1';
(9) 修改表中数据
#mysql
mysql>update 表名 set 列名=值 [where 条件表达式];
实例:
mysql>update users set password='132' where name='user1';
(10) 删除表
#mysql
mysql>drop table 表名;
实例:
mysql>drop table users;
参考技术A create database 数据库名;
就可以建立数据库。
mysql 直接进入mysql
show databases 查看数据库
use 数据名 使用数据库
show tables 查看表
参考技术B 直接命令:
sudo /sbin/service mysql start
参考技术C 楼主会 SQL 查询命令不?

如何在linux下安装mysql数据库并配置

在linux下安装mysql数据库并配置的流程比较繁琐,需要耐心调试,具体方法和步骤如下:

1.查找以前是否安装有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果显示有如下包则说明已安装mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1

2.如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库
删除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
删除老版本mysql的开发头文件和库
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql

3.下载mysql的rpm包
可以通过wget下载具体的地址因为不能用链接请大家去官网去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。
下载后放到Liunx服务器中。

4.安装MySQL Server的rpm包
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看。

5.安装MySQL客户端
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm

6.安装MySQL开发依赖包
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm

7.启动msyql
安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:
ERROR 2002 (HY000): Can\'t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock\' (2)
可使用如下命令启动MySQL:
service mysql start
或者使用如下命令:
/etc/init.d/mysql start
可使用SET PASSWORD命令修改root用户的密码,参考如下:SET PASSWORD = PASSWORD(\'root123456\');

8.登录MySQL
使用mysql命令登录MySQL服务器,运行MySQL的命令时,会提示需要设置root用户密码。

9.设置开机自启动
/etc/init.d/mysql start
设置完成后重启系统,使用natstat –nat命令可看到MySQL的3306端口。

10.至此已经安装好了mysql数据库,当然现在我们的数据库还不支持远程连接,远程连接会出现以下代码:1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server,可以通过以下以下来解决。

11.改表法:在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为\'%\'。
mysql>
mysql>use mysql;
mysql>select \'host\' from user where user=\'root

12.到此为止,mysql数据库在linux中安装完毕。
参考技术A 1
查找以前是否安装有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果显示有如下包则说明已安装mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
2
如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库
删除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
删除老版本mysql的开发头文件和库
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
下载mysql的rpm包
可以通过wget下载具体的地址因为不能用链接请大家去官网去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。
下载后放到Liunx服务器中,如图所示

安装MySQL Server的rpm包
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装过程如图所示
安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看。

安装MySQL客户端
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm

安装MySQL开发依赖包
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm

启动msyql
安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
可使用如下命令启动MySQL:
service mysql start
或者使用如下命令:
/etc/init.d/mysql start
可使用SET PASSWORD命令修改root用户的密码,参考如下:SET PASSWORD = PASSWORD('root123456');

登录MySQL
使用mysql命令登录MySQL服务器,运行MySQL的命令时,会提示需要设置root用户密码

设置开机自启动
/etc/init.d/mysql start
设置完成后重启系统,使用natstat –nat命令可看到MySQL的3306端口
至此我们已经安装好了mysql数据库,当然现在我们的数据库还不支持远程连接,远程连接会出现以下代码:1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server,可以通过以下以下来解决
改表法:在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。
mysql>
mysql>use mysql;
mysql>select 'host' from user where user='root';
好了,开始享受mysql带来的强大功能吧
参考技术B 到mysql官网下载mysql编译好的二进制安装包

解压32位安装包:
进入安装包所在目录,执行命令:tar mysql-5.6.17-linux-glibc2.5-i686.tar.gz

复制解压后的mysql目录到系统的本地软件目录:
执行命令:cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r
注意:目录结尾不要加/

添加系统mysql组和mysql用户:
执行命令:groupadd mysql和useradd -r -g mysql mysql

安装数据库:
进入安装mysql软件目录:执行命令 cd /usr/local/mysql
修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./
安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql
修改当前目录拥有者为root用户:执行命令 chown -R root:root ./
修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data
到此数据库安装完毕
参考技术C yum -y install mysql mysql-server mysql-devel php-mysql

chkconfig --level 35 mysqld on
/etc/init.d/mysqld start

mysql_secure_installation
Enter current password for root (enter for none): ----》默认为空密码直接回车
Set root password? [Y/n] y ----》设置root密码
New password:
Re-enter new password:
Remove anonymous users? [Y/n] y ----》禁止匿名访问
Disallow root login remotely? [Y/n] y ----》不允许root远程访问
Remove test database and access to it? [Y/n] y ----》删除测试数据库test
Reload privilege tables now? [Y/n] y ----》重新加载授权信息本回答被提问者和网友采纳
参考技术D 配置:
# 更改root用户密码
mysqladmin -u root -h localhost password 'new_password'
# 使用root用户登录
mysql -u root -h localhost
# 创建数据库用户sa,密码为 123456,从任意主机可访问
create user 'sa'@'%' identified by '123456';
# 创建数据库mydb
create database mydb;
# 将mydb数据库的所有权限赋予sa用户
grant all privileges on mydb.* to 'sa'@'%' with grant option;

以上是关于如何在Linux下使用MySQL?的主要内容,如果未能解决你的问题,请参考以下文章

请问如何在linux下启动mysql

Linux下安装配置与使用MySQL数据库

如何在Linux下修改Mysql的用户(root)密码

如何在linux下安装mysql数据库并配置

如何在linux下安装mysql数据库并配置

如何在linux下安装mysql数据库并配置