perl problem
im have a time with this perl it doesnt have the dbd-mysql in the list and to top it off the server says perl isnt install what do i do?
|
ok i got the perl out the way now it wont connect to the db ... its there and in xml but server dont see it and port is open
|
Quote:
|
I am having this exact same problem. I used to have a private EQEMU server some time ago, and now that I have a new computer, I attempted to reinstall EQEMU.
I have Perl Installed. However, EQEMU cannot connect to the Database. The only error message in the Log File is the following: [02.29. - 23:02:06] Failed to connect to database: Error: #1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client world.exe dies after that. |
Apologies for double-post. This is exactly what world.exe outputs when run.
C:\>cd EQEmu-0.7.0-1102 C:\EQEmu-0.7.0-1102>world.exe [Debug] Starting Log: logs/eqemu_debug_world_11816.log [Debug] [WORLD__INIT] Loading server configuration.. [Debug] [WORLD__INIT] Log settings loaded from log.ini [Debug] [WORLD__INIT] CURRENT_WORLD_VERSION:EQEMu 0.7.0 [Debug] [WORLD__INIT] Connecting to MySQL... [Error] Starting Log: logs/eqemu_error_world_11816.log [Error] Failed to connect to database: Error: #1251: Client does not support aut hentication protocol requested by server; consider upgrading MySQL client [Debug] [WORLD__INIT_ERR] Cannot continue without a database connection. C:\EQEmu-0.7.0-1102> |
Oops. Ignore above two posts. Upon further investigation, I have determined that the problem is due to the version of ActivePerl which is recommended by the guide no longer offering downloads of the required Perl files -- particularly DBD::mysql and DBI.
I would suggest that someone alter the guide to remove reference to an outdated, non-functional distribution. |
Downloaded C++ compiler and attempted to install the required modules with CPAN. No luck. They will not compile.
Can anyone suggest an alternative to ActiveState perl? Or can anyone offer the required perl parts precompiled for x86 Windows? |
so its the perl causing this error?
|
It seems to be so, yes.
Since the only part of the installation that went wrong was my inability to acquire the PERL mysql interface, due to the fact that the Guide provided is out of date, and since using updated versions of PERL and the mysql related interfaces do not work, I can only assume that the problem lies with PERL, or, more specifically, that it seems PERL is required for EQEmu to connect to a mysql database. There is no actual database problem, as my database works, and I am able to connect to it, and other programs are able to use it just fine. |
Quote:
http://www.eqemulator.net/forums/showthread.php?t=24233 I don't think it's anything to do with Perl. |
tried that with all users including root says cant find any matching row in the user table
|
MySQL 5/New Perl
Ok, Here's the deal. I am running Mysql 5xx and the newest Perl distro with the GUI PPM on mine, and it works just fine. The mySQL component you need is called something different in the new GUI based PPM. It's called DBIx-MySQLSequence. The other two components (the IO stringy and the other) are still called the same thing. Once you make sure those three are installed, you are done with perl and it works.
The password fix in the post WORKS. You CAN use MySQL 5xx because I am using it now with no problems. Run that query and you should have no problems. If that doesn't work, then the problem is something else, or you are not running the query correctly. Hope that helps. |
ok i have dbix mysql the problem im having now is sql when i try that command user not found
|
User not found...
you have to run it with the user name in the query that you use to access your database. If it's root, then change it to root, etc..
|
Quote:
|
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql> UPDATE `user` SET Password=old_password('hire') WHERE Host='localhost' an' at line 1
is what i get |
when i use :
SET PASSWORD FOR 'eqemu'@'localhost' = OLD_PASSWORD('hire'); i get this :#1133 - Can't find any matching row in the user table when i use :mysql> UPDATE `user` SET Password=old_password('hire') WHERE Host='localhost' and User='eqemu'; i get this :#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql> UPDATE `user` SET Password=old_password('hire') WHERE Host='localhost' an' at line 1 now what?? |
Quote:
Error #1064: Syntax. Note the difference in single quotes surrounding user vs hire/localhost/eqemu. (` vs '. Use '.) |
Ok.
Ok, here is what you do...
Let's say your user that accesses the database for your server is "root". You run this code: Code:
set password for 'root'@'localhost' = OLD_PASSWORD('newpwd'); Code:
set password for 'root'@'localhost' = OLD_PASSWORD('121212'); Code:
set password for '12user12'@'localhost' = OLD_PASSWORD('121212'); Copy and paste your code into the console and hit the "Enter" key on the keyboard, and it should give you a message saying 0 rows effected or something to that effect. That worked for me. |
In addition to the above, i'd like to put this out here for reference.
The only reason you're getting a user not found error is because you're trying to set a password for a non-existant user. You can do this in three simple queries: Code:
create user eqemu; Code:
grant all on *.* TO 'eqemu'@'localhost'; Code:
flush privileges; That will set up user eqemu. Now, you can go ahead and do the things listed in the post above me. Since there's no password for our new user, you need to set one. (Well, you don't, but it helps, right?) Replace newpwd with the password you want, do not delete the ' marks. Code:
set password for 'root'@'localhost' = OLD_PASSWORD('newpwd'); After that is done, use the username and password you JUST created for your server, and it will boot up. Good job, you fixed your username problem, remember to edit eqemu_config.xml, use the guide on the wiki to edit the eqemu_config.xml YOU CANNOT RUN A SERVER WITHOUT DOING THAT. sidenote: Quote:
|
Or just open Navicat and click on manage users, then create new user, and click on grant all. Then make the host "%" so you can access the machine from any host. Same thing done a different way.
|
All times are GMT -4. The time now is 03:44 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.