以windows为例
方法一(假设mysql在d:\mysql目录下)
1、用系统管理员登陆windows系统。
2、停止MySQL的服务。
3、运行cmd进入dos命令窗口,然后进入MySQL的安装目录,比如安装目录是d:\mysql,进入d:\mysql\bin (如果是c:\Program Files\mysql目录,目录包含空格,使用cd "c:\Program Files\mysql"进入mysql目录)
4、跳过权限检查启动MySQL(关键的一步)
d:\mysql\bin>mysqld-nt --skip-grant-tables(会占用一个dos控制台窗口,不能关闭)
5、重新打开一个dos控制台窗口,进入d:\mysql\bin目录,设置root的新密码
d:\mysql\bin>mysqladmin -u root flush-privileges password 新密码
(注意:这条命令如果重复执行,可能需要关闭4的窗口并重新运行)
d:\mysql\bin>mysqladmin -u root -p shutdown(或直接关闭第一个dos控制台窗口)
将新密码替换为你要用的root的密码,第二个命令可能会提示你输入新密码,重复第一个命令输入的密码。
6、关闭MySQL的控制台窗口,用正常模式启动Mysql
7、你可以用新的密码链接到Mysql了。
方法二
1、停止mysql服务
2、找到mysql数据的data目录,将另外一个mysql的data目录下的mysql目录覆盖过来(如果知道root密码)
( *** 作之前先备份mysql\data\mysql目录的所有文件)
这种方法缺点:覆盖掉其他的用户,mysql的版本需相同
3、重新启动mysql服务
mysql中没有直接修改数据库的命令,如果想做可以变相实现,就是用mysqldump-hip-uusername-ppasswddatabases>D:/backsql用这个命令备份数据库,然后创建新的数据库createdatabasesnew_databases;再上传备份数据库mysql-uusername-ppasswdnew_databases<D:/backsqlok,删除旧的数据库就好了
查找以前是否安装有mysql,使用下面命令:
rpm
-qa|grep
-i
mysql
如果显示有如下包则说明已安装mysql
mysql-4112-3RHEL41
mysqlclient10-32358-4RHEL41
如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库
删除命令:rpm
-e
--nodeps
包名
(
rpm
-ev
mysql-4112-3RHEL41
)
删除老版本mysql的开发头文件和库
命令:rm
-fr
/usr/lib/mysql
rm
-fr
/usr/include/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/mycnf不会删除,如果确定没用后就手工删除
rm
-f
/etc/mycnf
rm
-fr
/var/lib/mysql
下载mysql的rpm包
可以通过wget下载具体的地址因为不能用链接请大家去官网去找
(1)MySQL-server-5610-1rhel5x86_64rpm:MySQL服务器;
(2)MySQL-client-5610-1rhel5x86_64rpm:MySQL客户端;
(3)MySQL-devel-5610-1rhel5x86_64rpm:Mysql开发依赖包。
下载后放到Liunx服务器中,如图所示
安装MySQL
Server的rpm包
rpm
-ivh
MySQL-server-5621-1linux_glibc25x86_64rpm
安装过程如图所示
安装完成后会生成root用户的随机密码,请使用“cat
/root/mysql_secret”或类似命令进行查看。
修改MySQL数据库引擎步骤如下
第一:修改myini,在[mysqld]下加上:
default-storage-engine=引擎名称
其中的等号后面是要指定的数据库引擎名称。
第二:用sql语句修改已经建成表的引擎:
alter
table
tableName
type=InnoDB
--type语法在4X版本下存在
alter
table
tableName
ENGINE=InnoDB
--5X下都改成engine=innodb
举例说明下面贴出我的myini文件供参考:
[mysqld]
basedir=C:\Program
Files\VertrigoServ\Mysql\
datadir=C:\Program
Files\VertrigoServ\Mysql\data\
port
=3306
key_buffer
=64M
max_allowed_packet
=1M
table_cache
=128
sort_buffer_size
=512K
net_buffer_length
=8K
read_buffer_size
=256K
read_rnd_buffer_size
=512K
myisam_sort_buffer_size
=68M
default-storage-engine=INNODB
[mysqldump]
quick
max_allowed_packet
=116M
[mysql]
no-auto-rehash
#
Remove
the
next
comment
character
if
you
are
not
familiar
with
SQL
#safe-updates
[isamchk]
key_buffer
=20M
sort_buffer_size
=20M
read_buffer
=62M
write_buffer
=62M
[myisamchk]
key_buffer
=20M
sort_buffer_size
=20M
read_buffer
=62M
write_buffer
=62M
[mysqlhotcopy]
interactive-timeout
按照以上的代码提示 *** 作,我们就能够成功地修改MySQL数据库引擎为INNODB了。
使用update:
update 表名 set 字段1='修改值1',字段2='修改值2',字段5='修改值5' where 字段='某些值';
该语句是将表中所要求字段匹配后的行,进行相应字段的修改。
例如,表person
id/name/age
1/a/15
2/b/15
3/c/16
update person set name=d where age=16;
结果为3/c/16被修改为3/d/16。
mysql中怎么修改collation
问题报错
在数据库插入数据时,varchar 类型的字段插入中文数据时报错。
报错原文:
原因分析
通过 show full columns from user_bean;语句查看字段的collation属性,发现字段的collation属性值是 latin1_swedish_ci ,说明字段默认为英语。未对汉语进行设置,所以当输入汉语时,mysql会报错为“字符串的值不正确”。
解决方法
1、编辑mysql的配置文件 /etc/mycnf,vi /etc/mycnf
在 [mysqld] 下面加入两行补充
2、重启Mysql服务 systemctl restart mysqld
向数据库插入含中文的数据,成功!
注意:上面步骤可以解决以后创建表时字段的collation属性的问题,但前面已经创建的表字段的collation属性值并不会发生变化。
如果要改变之前已经创建好的表,怎么办?
方法1:对原来的表进行修改,可以通过类似语句
alter table user_bean change address address varchar(255) character set utf8 collate utf8_general_ci not null;
方法2:删除原来的表,重新再建。
命令总结
以上就是关于怎么修改mysql数据库表中内容全部的内容,包括:怎么修改mysql数据库表中内容、如何修改MySQL数据库名称、如何在linux系统修改mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)