问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于linux下mysql的问题???

发布网友 发布时间:2022-04-23 06:49

我来回答

1个回答

热心网友 时间:2022-04-07 20:23

linux下安装mysql [ 日期:2006-07-04 ] [ 来自:本站原创 ]一、引言

想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux 和Windows本身就有很大区别。为了让和我一样的初学者在学习的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。

二、安装Mysql

1、下载MySQL的安装文件
安装MySQL需要下面两个文件:
MySQL-server-5.0.9-0.i386.rpm
MySQL-client-5.0.9-0.i386.rpm
下载地址为:http://dev.mysql.com/downloads/mysql/5.0.html,打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。

2、安装MySQL
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 –ivh ,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。
1)安装服务器端
在有两个rmp文件的目录下运行如下命令:
[root@test1 local]# rpm -ivh MySQL-server-5.0.9-0.i386.rpm
显示如下信息。
warning: MySQL-server-5.0.9-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing... ########################################### [100%]
1:MySQL-server ########################################### [100%]
。。。。。。(省略显示)
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h test1 password 'new-password'
。。。。。。(省略显示)
Starting mysqld daemon with databases from /var/lib/mysql
如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
上面显示可以看出MySQL服务已经启动。
2)安装客户端
运行如下命令:
[root@test1 local]# rpm -ivh MySQL-client-5.0.9-0.i386.rpm
warning: MySQL-client-5.0.9-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing... ########################################### [100%]
1:MySQL-client ########################################### [100%]
显示安装完毕。
用下面的命令连接mysql,测试是否成功。
三、登录MySQL

登录MySQL的命令是mysql, mysql 的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。

注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。

四、MySQL的几个重要目录

MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。

下面就介绍一下这几个目录。

1、数据库目录
/var/lib/mysql/

2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)

3、相关命令
/usr/bin(mysqladmin mysqlmp等命令)

4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
五、修改登录密码

MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。

1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码

2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

3、测试是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。

六、启动与停止

1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start

2、停止
/usr/bin/mysqladmin -u root -p shutdown

3、自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]# /sbin/chkconfig –list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]# /sbin/chkconfig – add mysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]# /sbin/chkconfig – del mysql
七、更改MySQL目录

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

1、home目录下建立data目录
cd /home
mkdir data

2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown

3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下

4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock (加上此行)

6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)

7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。

八、MySQL的常用操作

注意:MySQL中每个命令后都要以分号;结尾。

1、显示数据库
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.04 sec)
Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。

2、显示数据库中的表
mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )
Database changed

mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+-----------------+
6 rows in set (0.01 sec)

3、显示数据表的结构:
describe 表名;

4、显示表中的记录:
select * from 表名;
例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
Select * from user;

5、建库:
create database 库名;
例如:创建一个名字位aaa的库
mysql> create databases aaa;
6、建表:
use 库名;
create table 表名 (字段设定列表);
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
use aaa;
mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命令察看刚建立的表结构。
mysql> describe name;

+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| id | int(3) | | PRI | NULL | auto_increment |
| xm | char(8) | YES | | NULL | |
| xb | char(2) | YES | | NULL | |
| csny | date | YES | | NULL | |
+-------+---------+------+-----+---------+----------------+

7、增加记录
例如:增加几条相关纪录。
mysql> insert into name values('','张三','男','1971-10-01');
mysql> insert into name values('','白云','女','1972-05-20');
可用select命令来验证结果。
mysql> select * from name;
+----+------+------+------------+
| id | xm | xb | csny |
+----+------+------+------------+
| 1 | 张三 | 男 | 1971-10-01 |
| 2 | 白云 | 女 | 1972-05-20 |
+----+------+------+------------+

8、修改纪录
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny='1971-01-10' where xm='张三';

9、删除纪录
例如:删除张三的纪录。
mysql> delete from name where xm='张三';

10、删库和删表
drop database 库名;
drop table 表名;

九、增加MySQL用户

格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。

例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。

mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";

用新增的用户如果登录不了MySQL,在登录时用如下命令:

mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)

十、备份与恢复

1、备份

例如:将上例创建的aaa库备份到文件back_aaa中

[root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)
[root@test1 mysql]# mysqlmp -u root -p --opt aaa > back_aaa

2、恢复

[root@test mysql]# mysql -u root -p ccc < back_aaa
紧急求助:linux 下面mysql启动不了 my_print_defaults: command...

linux 下面mysql启动不了 my_print_defaults: command not found的原因是:/etc/init.d/mysql这个MySQL的启动脚本错误,MySQL是使用源代码安装的,一般会提示tarting MySQL Couldn't find MySQL manager or server(@bindir@/mysqld_safe)。具体解决办法:键入如下命令:cd &lt;your MySQL install PATH&gt; cd...

linux怎么进入mysql数据库

1、打开linux服务器,然后在桌面的空白处点击右键。2、在弹出的下拉选项里,点击打开终端。3、使用命令service mysqld start连接mysql数据库。4、可以使用命令mysql -uuser -p passwd连接数据库,查看mysql是否启动成功。

MySQL崩溃不响应尝试这些方法解决问题mysql不响应

MySQL自带了一些诊断工具,可帮助我们快速定位问题。其中最常用的是MySQL的“SHOW PROCESSLIST”命令和“mytop”命令。“SHOW PROCESSLIST”命令可用于显示当前所有正在运行的MySQL进程。在MySQL控制台中输入该命令,可以查看当前进程的状态和资源占用情况。“mytop”命令可用于实时监控MySQL状态。在Linux系统下,在...

急急急!linux下安装MySQL的问题?

首先:用命令:/usr/local/bin/mysqld_safe --user=mysql&amp;连接数据库,这时系统会自动生成mysql.sock这个文件。其次,找到mysql.sock这个文件,一般在/var/lib/mysql/mysql.sock这个目录下或/tmp目录下,如果有提示说Can't connect to local MySQL server through socket '/tmp/mysql.sock';我们就可...

Linux下MySQL忘记密码怎么办?

当你在Linux环境下遭遇MySQL登录密码遗忘的问题时,无需担心,有几种方法可以帮助你解决。首先,你可以选择关闭MySQL服务,然后修改配置文件。具体步骤是找到路径"/etc/my.cnf",在文件的末尾添加"skip-grant-tables"这一行。这样做的结果是,服务将以无权限表模式运行,允许你无密码连接服务器。另一种...

linux下mysql表名大小写问题

这个和hibernate 无关,MYSQL的问题 1、Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;2、用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;lower_case_table_names参数详解:lower_case_...

linux中mysql安装完mysql启动时报错是怎么回事?

一、Linux下MySQL的启动与停止 1、Mysql启动、停止、重启常用命令 a、启动方式 (1)使用 service 启动:[root@localhost /]# service mysqld start (5.0版本是mysqld)[root@szxdb etc]# service mysql start (5.5.7版本是mysql)(2)使用 mysqld 脚本启动:/etc/inint.d/mysqld start (3...

在linux下MySQL的常用操作命令

在Linux环境下,MySQL的常用操作命令包括了数据库管理、用户管理以及数据处理等多个方面。以下是对其关键命令的整理:首先,对MySQL进行基本操作:- 启动MySQL:使用"net start mysql"或"service mysql start"命令。- 退出MySQL:在命令行输入"mysql&gt; exit"或"mysql&gt; quit"。- 刷新权限:使用"flush ...

关于linux服务配置的问题 starting MySQL.Manager of pid-file quit w...

此类问题思路,先看mysql的错误日志(不清楚错误日志位置的根据os和mysql版本和安装位置找一下,rhel系统一般默认是/var/lib/mysql/下),再查看mysql进程是否已运行,再看一下安装目录的文件权限设置。0 错误日志 cd /var/lib/mysql tail -f [hostname].err 1 查看进程是否已存在,如存在,请kill之...

linux系统mysql服务启动失败

解决“linux系统mysql服务启动失败”问题的具体步骤如下:1、首先我们查找mysql.sock的文件位置,如果忘记了文件的位置,首先查看/etc/my.cnf文件。2、然后我们将mysql.sock文件进行改名,使用linux的mv命令即可,这里我们改为mysql.sock.bak0830。3、然后这时候我们再使用命令启动mysql,service mysqld start...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见父母有一方死亡的预兆 昨晚做梦梦见我的父母和丈夫都死了, 父母本来就去世很久了,并且他们一... 农产品流通与管理专业怎么样_就业方向_主要课程 鱿鱼须是海鲜吗 鱿鱼须有哪些挑选的小窍门 保密教育培训方案 下列各项业务中,应通过"固定资产清理”账户核算的有 pcr上岗证考完试会在什么时候公布 帮忙解一道会计题目 固定资产清理,不考虑税收,按题回答即可 pcr证书怎样考? ...可重新登录输入123456还报错MYSQL的密码问题: 如何检查linux mysql密码安全设置 linux下,(系统密码,mysql数据库密码,Email密码)如何修改 linux下的mysql密码破解 平安银行车贷款还完一年后想全部还清还有利息吗? 平安车贷提前还款收取剩余一半利息是合法吗 平安银行车贷款提前还款怎么在手机查到,想一次还清用预约吗? 在平安银行做了个二手车贷款不满一年想提前还款可以吗? 车贷提前还款一年,为什么还要收一年的利息 平安银行抵押车贷,已经还款一年了!能提前还部分本金,降低月供,或 平安金融提前还车贷麻烦吗 平安银行车贷可以办理提前还款吗,违约金如何收取 平安银行车贷一年后提前还款 车贷满一年想提前还款可以吗? 平安车贷提前还款怎么操作 平安银行车贷结清流程 平安银行车抵贷如果到一年时提前还款,三年和四年哪个更合适 平安银行车贷提前还款怎么操作 平安银行车贷怎么提前还款呢 PS里,一条竖线,两头变透明,怎么做? 修改mysql密码无效 centos下装完mysql后默认密码是多少,如何修改 仓库统计员是做什么的?和仓库管理员的性质相同吗? mysql linux下的localhost 密码修改 host 仓库管理人员主要是干什么的?它的就业前景如何? 用Linux和MySQL做一个登陆系统,输入用户名和密码后怎么与数据库里的... 仓管员与统计员的工作区别在哪里? linux安装mysql之后修改root初始密码报错,在线等、、、 仓库统计员是干些什么? 仓库管理员和统计员,工作内容简单吗?需要具备什么知识? 求仓管、统计职责和奖惩的相关制度 出货统计员具体做什么工作?仓库统计员的工作职能描述 怎样做好仓库统计员? 昨天面试上了一家公司的生产统计员,让我明天去上班以前是做仓库管理的,怕干不好这个,不知道去是不去 物流公司的统计员是做什么的? 什么是仓管和统计? 在幻灯片放映中,如果需要幻灯片自动播放,应当怎样操作 要使幻灯片在放映时能够自动播放,需要为其设置( )。 想要幻灯片自动播放要怎么设置? 从回收站删除的文件,还有办法找回吗