# tar -zvxf mysql-3.22.25-pc-linux-gnu-i686.tar.gz (产生 mysql-3.22.25-pc-linux-gnu-i686目录)
# cd mysql-3.22.25-pc-linux-gnu-i686
# ./configure --prefix=/usr/local/mysql (其中参数设定目的安装路径)
# make
# make install
注意在运行configure时,设定MySQL的安装目的路径为/usr/local/mysql,该路径在后继安装过程中还要使用。然后,建立最初的数据库:
# scripts/mysql_install_db
该命令将在 /usr/local/mysql/var/ 下建立两个数据库:mysql和test,其中前者是MySQL的权限管理数据库,后者是让你做练习用的。注意:如果你在以前曾经安装果MySQL,则初始数据库已经存在,不需要再重新安装。
最后,启动MySQL :
# cd /usr/local/mysql/bin
# ./safe_mysqld &
如果你希望在机器启动的时候自动运行数据库服务,可以将上面的启动命令加入到/etc/rc.d/rc.local文件中。
现在,MySQL 已经运行起来了并等待你的数据处理命令!但是,一定要小心:你还没有为你的root管理员设置一个密码,任何人都可以随心所欲地修改你的数据库(包括最为重要的权限库)!不相信的话,作作以下练习(假设我们的当前目录都是/usr/local/mysql/bin):
试试用任意用户登录,并运行:
$ ./mysql -u root
立即可以进入"mysql>"客户端软件提示符并进行任何数据处理 *** 作而不需要任何口令;这说明,MySQL的管理员"root"账号与你的Unix账号所用的口令可以是不一样的。为了给root账号加口令,执行:
# ./mysqladmin -u root password '新口令'
再次以一般用户身执行:
$ ./mysql -u root
则系统会提示输入密码,密码不正确则拒绝访问。实际上,即使你是root用户,如果不明确地指明使用密码,系统也是照样拒绝:
# ./mysql -u root
或
# ./mysql 系统响应:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
只有使用-p参数,明确说明你要使用密码,系统才会提示你输入密码,并在输入密码正确时方可进入:
# ./mysql -u root -p
password:******** (输入口令)
Welcome to the MySQL monitor. Commands end with or g.
Your MySQL connection id is 33 to server version: 3.22.25
Type 'help' for help.
Mysql>
键入exit回到shell。
脚本mysql.server(位于`share/mysql'目录中)用于启动或停止MySQL服务器:
shell>mysql.server start
shell>mysql.server stop
该脚本实际上通过执行safe_mysqld启动服务器。停止服务器也可以通过管理程序实现:
mysqladmin shutdown
也可通过将下述命令加入`/etc/rc.local'文件,在系统启动时自动启动MySQL:
/bin/sh -c 'cd /usr/local/mysql ./bin/safe_mysqld &'
MySql密码修改_Mysql密码破解首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的,
所以一般用户无法更改密码,除非请求管理员。
方法一
使用phpmyadmin,这是最简单的了,修改mysql库的user表,
不过别忘了使用PASSWORD函数。
方法二
使用mysqladmin,这是前面声明的一个特例。
mysqladmin -u root -p password mypasswd
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
把命令里的root改为你的用户名,你就可以改你自己的密码了。
当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,
那么这种方法就是无效的。
而且mysqladmin无法把密码清空。
下面的方法都在mysql提示符下使用,且必须有mysql的root权限:
方法三
mysql>Insert INTO mysql.user (Host,User,Password)
VALUES(’%',’jeffrey’,PASSWORD(’biscuit’))
mysql>FLUSH PRIVILEGES
确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。
在《mysql中文参考手册》里有这个例子,所以我也就写出来了。
注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。
方法四
和方法三一样,只是使用了REPLACE语句
mysql>REPLACE INTO mysql.user (Host,User,Password)
VALUES(’%',’jeffrey’,PASSWORD(’biscuit’))
mysql>FLUSH PRIVILEGES
方法五
使用SET PASSWORD语句,
mysql>SET PASSWORD FOR jeffrey@”%” = PASSWORD(’biscuit’)
拟也必须使用PASSWORD()函数,
但是不需要使用FLUSH PRIVILEGES。
方法六
使用GRANT … IDENTIFIED BY语句
mysql>GRANT USAGE ON *.* TO jeffrey@”%” IDENTIFIED BY ‘biscuit’
这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。
MySQL 忘记口令的解决办法
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld –skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password(”new_pass”) where user=”root”
>flush privileges
重新杀 MySQL ,用正常方法启动 MySQL 。
mysql密码清空
Windows:
1.用系统管理员登陆系统。
2.停止MySQL的服务。
3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:mysql,进入C:mysqlbin
4.跳过权限检查启动MySQL,
c:mysqlbin>mysqld-nt –skip-grant-tables
5.重新打开一个窗口,进入c:mysqlbin目录,设置root的新密码
c:mysqlbin>mysqladmin -u root flush-privileges password “newpassword”
c:mysqlbin>mysqladmin -u root -p shutdown
将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。
6.停止MySQL Server,用正常模式启动Mysql
7.你可以用新的密码链接到Mysql了。
Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用–skip-grant-tables参数启动MySQL Server
shell>mysqld_safe –skip-grant-tables &
4.为root@localhost设置新密码
shell>mysqladmin -u root flush-privileges password “newpassword”
5.重启MySQL Server
mysql修改密码
mysql修改,可在mysql命令行执行如下:
mysql -u root mysql
mysql>Update user SET password=PASSWORD(”new password”) Where user=’name’
mysql>FLUSH PRIVILEGES
mysql>QUIT
教你如何将MySQL数据库的密码恢复
因为MySQL密码存储于数据库mysql中的user表中,所以只需要将我windows 2003下的MySQL中的user表拷贝过来覆盖掉就行了。
但是在一些特殊情况下,我们不想使用这个 root 用户来使用。你比如主机提供商,他们在提供数据库的时候就有肯能不想购买者使用 root 用户来登录他们提供的数据库服务器,而是向这些购买者分配一个随机的用户。他们是怎样做到的呢?这里我们来向大家说说如何以一个普通的用户来使用MySQL数据库。 MySQL服务器mysqld能被任何用户启动并运行。为了将mysqld改由Unix用户user_name来运行,你必须做下列事情:如果它正在运行,停止服务器(使用mysqladmin shutdown)。
改变数据库目录和文件以便user_name有权限读和写文件(你可能需要作为Unix的root用户才能做到):
shell>chown -R user_name /path/to/mysql/datadir
如果在MySQL数据目录中的目录或文件是符号链接,你也将需要顺着那些链接并改变他们指向的目录和文件。chown -R不能跟随符号链接。
以user_name用户启动服务器,或如果你正在使用MySQL 3.22或以后版本,以Unix root用户启动mysqld并使用--user=user_name选项,mysqld将在接受任何连接之前切换到以Unix user_name用户运行。
如果在系统被重新启动时,你使用mysql.server脚本启动mysqld,你应该编辑mysql.server用su以用户user_name运行mysqld,或使用--user选项调用mysqld。(不改变safe_mysqld是必要的。) 现在,你的mysqld进程应该正在作为Unix用户user_name运行,并运行完好。尽管有一件事情没有变化:权限表的内容。缺省 地(就在运行了脚本mysql_install_db安装的权限表后),MySQL用户root是唯一有存取mysql数据库或创建或抛弃数据库权限的用户。除非你改变了那些权限,否则他们仍然保持。当你作为一个Unix用户而不是root登录时,这不应该阻止你作为MySQL root用户来存取MySQL只要为客户程序指定-u root的选项。
注意通过在命令行上提供-u root,作为root存取MySQL,与作为Unix root用户或其他Unix用户运行MySQL没有关系。MySQL的存取权限和用户名与Unix用户名字是完全分开的。唯一与Unix用户名有关的是,如果当你调用一个客户程序时,你不提供一个-u选项,客户将试图使用你的Unix登录名作为你的MySQL用户名进行连接。
如果你的Unix机器本身不安全,你可能应该至少在存取表中为MySQL root用户放上一个口令。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)